PHP 中使用自定义比较函数可以对数组进行排序,并保留键名。为了做到这一点,可以使用 usort() 函数,它需要一个数组和一个回调函数作为参数。回调函数接收两个数组元素,返回一个整数
PHP 中使用自定义比较函数可以对数组进行排序,并保留键名。为了做到这一点,可以使用 usort() 函数,它需要一个数组和一个回调函数作为参数。回调函数接收两个数组元素,返回一个整数 (-1、0 或 1) 来指示排序顺序。
使用自定义比较函数对数组进行排序是数组操作中的常用操作。在 PHP 中,可以使用 usort()
函数轻松实现此目的。
usort(array, callable)
以下示例展示了如何使用自定义比较函数对数组中的键名进行排序,同时保留键名:
<?php
// 待排序的数组
$arr = [
'a' => 10,
'c' => 5,
'b' => 20,
];
// 自定义比较函数
$compare = function ($a, $b) {
return strcmp($a['key'], $b['key']);
};
usort($arr, $compare);
// 输出排序后的数组
print_r($arr);
在这个例子中,compare
函数将两个键名($a['key']
和 $b['key']
)作为参数,并使用 strcmp()
函数对其进行比较。strcmp()
函数返回 -1、0 或 1,指示第一个字符串是否小于、等于或大于第二个字符串。
调用 usort()
函数时,它将指定的比较函数应用于 $arr
数组中的每个元素。如果 compare
函数返回 -1,则第一个元素将排在第二个元素之前;如果返回 1,则反之;如果返回 0,则元素的顺序保持不变。
最终输出为:
Array
(
[a] => 10
[b] => 20
[c] => 5
)
数组按照键名从小到大排序,同时保留了键名。
以上就是PHP 中如何使用自定义比较函数对数组进行排序,并保留键名?的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: PHP 中如何使用自定义比较函数对数组进行排序,并保留键名?
本文链接: https://www.lsjlt.com/news/612688.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
2024-05-16
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0