PHP プログラミングでは、価格による並べ替え、アルファベット順の並べ替えなど、さまざまなニーズを満たすために多次元配列を並べ替える必要があることがよくあります。ただし、多次元配列のソートは 1 次元配列よりも複雑です。この記事では、PHP を使用して多次元配列をソートする方法を紹介します。
まず、PHP のソート関数、sort()、rsort()、asort()、arsort() を理解する必要があります。 、ksort()、krsort()、uksort()、usort()。これらの関数は 1 次元配列のソートに適していますが、多次元配列をソートする場合は、コールバック関数を使用して配列をソートする必要があります。
コールバック関数は、他の関数にパラメータとして渡される関数を指します。 PHP では、コールバック関数は通常、配列の並べ替え、フィルター、走査などに使用されます。無名関数またはカスタム名の関数をコールバック関数として使用できます。
次に、無名関数をコールバック関数として使用する例を示します。
$array = array( array('price' => 45.50), array('price' => 15.00), array('price' => 20.15), array('price' => 25.00), array('price' => 90.10), array('price' => 9.99), ); usort($array, function($a, $b) { if ($a['price'] == $b['price']) return 0; return ($a['price'] < $b['price']) ? -1 : 1; }); print_r($array);
出力結果は次のとおりです。
Array ( [0] => Array ( [price] => 9.99 ) [1] => Array ( [price] => 15 ) [2] => Array ( [price] => 20.15 ) [3] => Array ( [price] => 25 ) [4] => Array ( [price] => 45.5 ) [5] => Array ( [price] => 90.1 ) )
多次元配列を並べ替える場合は、コールバック関数を使用して配列の並べ替え規則を定義する必要があります。コールバック関数で複数のソート条件を定義し、優先順位に従って配列要素の値を 1 つずつ比較して、ソートの目的を達成できます。
次は、コールバック関数を使用して多次元配列を並べ替える例です:
$array = array( array('name' => 'John', 'age' => 25, 'score' => 80), array('name' => 'Mary', 'age' => 28, 'score' => 90), array('name' => 'Bob', 'age' => 20, 'score' => 95), array('name' => 'Jack', 'age' => 30, 'score' => 85), array('name' => 'Lisa', 'age' => 22, 'score' => 85), ); // 按照年龄降序、分数升序、名字升序排序 usort($array, function($a, $b) { if ($a['age'] == $b['age']) { if ($a['score'] == $b['score']) { return strcmp($a['name'], $b['name']); } else { return ($a['score'] > $b['score']) ? 1 : -1; } } else { return ($a['age'] < $b['age']) ? 1 : -1; } }); print_r($array);
出力結果は次のとおりです:
Array ( [0] => Array ( [name] => Mary [age] => 28 [score] => 90 ) [1] => Array ( [name] => Jack [age] => 30 [score] => 85 ) [2] => Array ( [name] => Lisa [age] => 22 [score] => 85 ) [3] => Array ( [name] => John [age] => 25 [score] => 80 ) [4] => Array ( [name] => Bob [age] => 20 [score] => 95 ) )
この記事では、PHP を使用して多次元配列のソートを実装する方法を紹介します。まず、PHP のソート関数を理解してから、コールバック関数を使用して多次元配列をソートします。実際の開発では、ソートは非常に一般的な機能であり、多次元配列をソートすることで、さまざまなニーズに適切に対応できるようになります。
以上がPHP を使用した多次元配列のソートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。