ホームページ >バックエンド開発 >PHPチュートリアル >多次元 PHP 配列を内部配列値でソートするにはどうすればよいですか?
内部配列値による多次元 PHP 配列の並べ替え
次の特定の値に基づいて多次元 PHP 配列を並べ替えるには内部配列では、カスタム ソート関数を使用できます。
カスタム ソート関数:
<code class="php">function array_sort($array, $on, $order = SORT_ASC) { $new_array = []; $sortable_array = []; if (count($array) > 0) { foreach ($array as $key => $value) { if (is_array($value)) { foreach ($value as $key2 => $value2) { if ($key2 == $on) { $sortable_array[$key] = $value2; } } } else { $sortable_array[$key] = $value; } } switch ($order) { case SORT_ASC: asort($sortable_array); break; case SORT_DESC: arsort($sortable_array); break; } foreach ($sortable_array as $key => $value) { $new_array[$key] = $array[$key]; } } return $new_array; }</code>
使用法:
<code class="php">$list = array( array('type' => 'suite', 'name' => 'A-Name'), array('type' => 'suite', 'name' => 'C-Name'), array('type' => 'suite', 'name' => 'B-Name') ); $list = array_sort($list, 'name', SORT_ASC); print_r($list);</code>
出力:
<code class="php">array(3) { [0]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "A-Name" } [2]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "B-Name" } [1]=> array(2) { ["type"]=> string(5) "suite" ["name"]=> string(6) "C-Name" } }</code>
以上が多次元 PHP 配列を内部配列値でソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。