Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按内部数组的元素对二维数组排序_Php_Arrays_Sorting - Fatal编程技术网

Php 按内部数组的元素对二维数组排序

Php 按内部数组的元素对二维数组排序,php,arrays,sorting,Php,Arrays,Sorting,我有一个里面有8个数组的数组 看起来是这样的: [[num,...],[num,...],[num,...],[num,...],[num,...],[num,...],[num,...],[num,...]] 每个内部数组的第一个元素都有一个数字。现在我想接收外部数组中的元素,第一个元素的数目最大 我该怎么做 非常感谢。您可以使用PHP的 这将对数组进行就地排序,使第一个元素的数字最大。您可以使用PHP的 这将对数组进行就地排序,使第一个元素的数字最大,因为它是第一个元素。对整个数组进行排序

我有一个里面有8个数组的数组

看起来是这样的:

[[num,...],[num,...],[num,...],[num,...],[num,...],[num,...],[num,...],[num,...]]
每个内部数组的第一个元素都有一个数字。现在我想接收外部数组中的元素,第一个元素的数目最大

我该怎么做


非常感谢。

您可以使用PHP的


这将对数组进行就地排序,使第一个元素的数字最大。

您可以使用PHP的

这将对数组进行就地排序,使第一个元素的数字最大,因为它是第一个元素。

对整个数组进行排序是不必要的(而且要昂贵得多)。类似这样的方法会奏效:

// 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
//最初,将第一个元素视为最大元素
$element=$array[0];
$magest=$array[0][0];
$length=计数($array);
//将每个数组的第一个值与$magest进行比较,如果较大,则交换$element
对于($i=1;$i<$length;$i++){//N.B.从第二个元素开始
如果($array[$i][0]>$magest){
$element=$array[$i];
}
}
//$element现在是第一个值最大的元素
对整个阵列进行排序是不必要的(而且要昂贵得多)。类似这样的方法会奏效:

// 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
//最初,将第一个元素视为最大元素
$element=$array[0];
$magest=$array[0][0];
$length=计数($array);
//将每个数组的第一个值与$magest进行比较,如果较大,则交换$element
对于($i=1;$i<$length;$i++){//N.B.从第二个元素开始
如果($array[$i][0]>$magest){
$element=$array[$i];
}
}
//$element现在是第一个值最大的元素

签出
usort


您必须编写自己的比较函数。

签出
usort


您必须编写自己的比较函数。

您尝试了什么?提示:看看你试过什么?提示:仔细研究一下,如果您只需要具有最高值的元素,我同意这种方法是最好的。虽然OP应该检查usort以备将来参考,或者如果他们最终需要对整个数组进行排序,我同意如果您只需要具有最高值的元素,这种方法是最好的。虽然OP应该签出usort只是为了将来参考,或者如果他们最终需要对整个数组进行排序。有人知道,为什么我会通过使用这个错误:“Parse error:syntax error,unexpected T_FUNCTION”吗?您使用的是什么版本的PHP?运行
php-v
有人知道我为什么会出现这样的错误吗:“解析错误:语法错误,意外的T_函数”通过使用它?你使用的是什么版本的php?运行
php-v