内部に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
独自の比較関数を作成する必要があります。