当键的数量未知时,我想弄清楚如何根据最后一个键的值对数组进行排序?
所以,如果我有这样的数组:
Array(
[0] => Array(
[0] => Bob
[1] => A
[2] => Parker
)
[1] => Array(
[0] => John
[1] => Smith-Doe
)
[2] => Array(
[0] => Giuseppe
[1] => Gonzalez
[2] => Octavio
[3] => Hernandez
)
)
我想按数组中的最后一个值对其进行排序:
- 朱塞佩·冈萨雷斯·奥克塔维奥·埃尔南德斯
- 鲍勃·帕克
- John Smith-Doe
最佳答案
$arr = array(
array('Bob', 'A', 'Parker'),
array('John', 'Smith-Doe'),
array('Giuseppe', 'Gonzalez', 'Octavio', 'Hernandez')
);
usort($arr, 'sort_by_last_item');
var_dump($arr);
function sort_by_last_item($a, $b)
{
return end($a) > end($b);
}
或者如果您使用的是 php 5.3:
$arr = array(
array('Bob', 'A', 'Parker'),
array('John', 'Smith-Doe'),
array('Giuseppe', 'Gonzalez', 'Octavio', 'Hernandez')
);
usort($arr, function($a, $b) { return end($a) > end($b); });
var_dump($arr);
关于php - 按数组中最后一个键的值排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876924/