按值排序多维数组 [英] Sort Multi-dimensional Array by Value
本文介绍了按值排序多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:结果
我如何排序在PHP <多维数组/ p>
块引用>我怎么可以排序这个数组由序键的值?即使值是目前的顺序,它们将不会总是
阵列
(
[0] =&GT;排列
(
[主题标签] =&GT; a7e87329b5eab8578f4f1098a152d6f4
[标题] =&GT;花
[为了] =&GT; 3
) [1] =&GT;排列
(
[主题标签] =&GT; b24ce0cd392a5b0b8dedc66c25213594
[标题] =&GT;自由
[为了] =&GT; 2
) [2] =&GT;排列
(
[主题标签] =&GT; e7d31fc0602fb2ede144d18cdffd816b
[标题] =&GT;准备
[为了] =&GT; 1
)
)
解决方案尝试
usort
:如果你仍然在PHP 5.2或更早版本,你就必须定义排序功能第一:函数sortByOrder($ A,$ B){
返回$ a ['订单'] - $ B ['秩序'];
}usort($ myArray的,'sortByOrder');在PHP 5.3开始,您可以使用匿名函数:
usort($ myArray的,功能($ A,$ B){
返回$ a ['订单'] - $ B ['秩序'];
});和最后用PHP 7,您可以使用飞船运营商:
usort($ myArray的,功能($ A,$ B){
返回$ a ['订单'&LT; = GT; $ B ['秩序'];
});Possible Duplicate:
How do I Sort a Multidimensional Array in PHPHow can I sort this array by the value of the "order" key? Even though the values are currently sequential, they will not always be.
Array ( [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 3 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Ready [order] => 1 ) )
解决方案Try a
usort
: If you are still on PHP 5.2 or earlier, you'll have to define a sorting function first:function sortByOrder($a, $b) { return $a['order'] - $b['order']; } usort($myArray, 'sortByOrder');
Starting in PHP 5.3, you can use an anonymous function:
usort($myArray, function($a, $b) { return $a['order'] - $b['order']; });
And finally with PHP 7 you can use the "spaceship operator":
usort($myArray, function($a, $b) { return $a['order'] <=> $b['order']; });
这篇关于按值排序多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文