php面试题数组排序
2025-05-20 22:02
PHP
SQL Server
Oracle
MySQL
PostgreSQL
NoSQL
大数据
其他数据库
Windows
Windows Server
Linux
macOS
嵌入式
APACHE
NGINX
redis
Docker
git
互联网
tomcat
Html/Css
JavaScript
jQuery
HTML5
Angular
React
Vue
小程序
架构设计
面向对象
设计模式
领域驱动设计
Android开发
iOS开发
Flutter
鸿蒙
其他手机开发
敏捷开发
项目与团队管理
软件工程其他
.NET
Java
Python
Go
PHP
C++
Ruby
Swift
C语言
Erlang
Delphi
Scala
R语言
Verilog
Dart
Rust
其他语言
asp
nodejs
读书区
翻译区
求职面试
计算机图形学
软件测试
菜谱
SEO技术
摄影
生活技巧
141
0
0
0
标题录入
封面图
在 PHP 面试中,数组排序是一个常见的考点。PHP 提供了多种数组排序函数,每种函数都有其特定的用途和排序方式。以下是一些常见的 PHP 数组排序题目及其解答: ### 1. 使用 `sort()` 排序数组 `sort()` 函数用于对数组进行升序排序,并且会改变原数组。 ```php $array = [4, 2, 1, 3]; sort($array); print_r($array); // 输出: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) ``` ### 2. 使用 `rsort()` 排序数组 `rsort()` 函数用于对数组进行降序排序,并且会改变原数组。 ```php $array = [4, 2, 1, 3]; rsort($array); print_r($array); // 输出: Array ( [0] => 4 [1] => 3 [2] => 2 [3] => 1 ) ``` ### 3. 使用 `asort()` 排序关联数组 `asort()` 函数用于对关联数组按照值进行升序排序,并保持键值关联。 ```php $assocArray = ["a" => 4, "b" => 2, "c" => 1, "d" => 3]; asort($assocArray); print_r($assocArray); // 输出: Array ( [c] => 1 [b] => 2 [d] => 3 [a] => 4 ) ``` ### 4. 使用 `arsort()` 排序关联数组 `arsort()` 函数用于对关联数组按照值进行降序排序,并保持键值关联。 ```php $assocArray = ["a" => 4, "b" => 2, "c" => 1, "d" => 3]; arsort($assocArray); print_r($assocArray); // 输出: Array ( [a] => 4 [d] => 3 [b] => 2 [c] => 1 ) ``` ### 5. 使用 `ksort()` 排序关联数组 `ksort()` 函数用于对关联数组按照键进行升序排序,并保持键值关联。 ```php $assocArray = ["d" => 4, "a" => 2, "c" => 1, "b" => 3]; ksort($assocArray); print_r($assocArray); // 输出: Array ( [a] => 2 [b] => 3 [c] => 1 [d] => 4 ) ``` ### 6. 使用 `krsort()` 排序关联数组 `krsort()` 函数用于对关联数组按照键进行降序排序,并保持键值关联。 ```php $assocArray = ["d" => 4, "a" => 2, "c" => 1, "b" => 3]; krsort($assocArray); print_r($assocArray); // 输出: Array ( [d] => 4 [c] => 1 [b] => 3 [a] => 2 ) ``` ### 7. 使用 `natsort()` 自然排序 `natsort()` 函数用于对数组进行自然排序(按人类逻辑排序),比如 "img10" 会排在 "img2" 后面。 ```php $array = ["img12", "img10", "img2", "img1"]; natsort($array); print_r($array); // 输出: Array ( [3] => img1 [2] => img2 [1] => img10 [0] => img12 ) ``` ### 8. 使用 `usort()` 自定义排序 `usort()` 函数允许用户自定义比较函数来对数组进行排序。 ```php function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $array = [4, 2, 1, 3]; usort($array, 'cmp'); print_r($array); // 输出: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) ``` ### 9. 使用 `uasort()` 自定义排序并保持键值关联 `uasort()` 函数类似于 `usort()`,但它会在排序后保留数组的键值关联。 ```php function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $assocArray = ["a" => 4, "b" => 2, "c" => 1, "d" => 3]; uasort($assocArray, 'cmp'); print_r($assocArray); // 输出: Array ( [c] => 1 [b] => 2 [d] => 3 [a] => 4 ) ``` ### 10. 使用 `uksort()` 自定义排序键 `uksort()` 函数允许用户自定义比较函数来对数组的键进行排序。 ```php function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $assocArray = ["d" => 4, "a" => 2, "c" => 1, "b" => 3]; uksort($assocArray, 'cmp'); print_r($assocArray); // 输出: Array ( [a] => 2 [b] => 3 [c] => 1 [d] => 4 ) ``` 这些是 PHP 中常用的数组排序方法。在实际面试中,你可能需要根据具体的场景选择合适的排序函数,并能够解释它们的工作原理和适用范围。
上一篇:
PHP程序员容易忽略的几点精华
下一篇:
PHP函数iconv()编码转换
标题录入,一次不能超过6条
如何身心愉悦?
T:0.008805s,M:163.13 KB
返回顶部
留言
留言
评论