我有一个数组,里面有 8 个数组。
它看起来像这样:
[[num,...],[num,...],[num,...],[num,...],[num,...],[num,...],[num,...],[num,...]]
每个内部数组都有一个数字作为其第一个元素。现在我想接收具有最大数字的外部数组的元素作为第一个元素。
我怎么做?
非常感谢。
您可以使用 PHP 定义任何排序算法usort()
usort($array, function($a, $b) {
return $a[0] > $b[0];
});
这将对您的数组进行适当的排序,以使第一个元素的第一个元素具有最大的数字。
对整个数组进行排序没有必要(而且成本更高)。像这样的东西会起作用:
// initially, regard the first element as the largest
$element = $array[0];
$greatest = $array[0][0];
$length = count($array);
// compare the first value of each array against $greatest, swapping $element if it's larger
for($i = 1; $i < $length; $i++) { // N.B. start with second element
if($array[$i][0] > $greatest) {
$element = $array[$i];
}
}
// $element is now the element with the biggest first value
退房usort
: http: //php.net/manual/en/function.usort.php
您必须编写自己的比较函数。