PHP には配列を処理するための組み込み関数が多数あり、多くの場合、組み込み関数を直接使用することでニーズを満たし、必要な結果を得ることができます。私たちの要件に応じて、独自のアイデアを実装するには独自のアルゴリズムを作成する必要があります。キーに従って 2 次元配列をソートする方法について話しましょう。
実装方法:
<?php /** * ======================================= * Created by Zhihua_W. * Author: Zhihua_W * Date: 2016/11/26 0002 * Time: 下午 2:43 * Project: PHP开发小技巧 * Power: 实现二维数组根据key进行排序 * ======================================= */ /** * 二维数组排序 * @param array $arr 需要排序的二维数组 * @param string $keys 所根据排序的key * @param string $type 排序类型,desc、asc * @return array $new_array 排好序的结果 */ function array_sort($arr, $keys, $type = 'desc') { $key_value = $new_array = array(); foreach ($arr as $k => $v) { $key_value[$k] = $v[$keys]; } if ($type == 'asc') { asort($key_value); } else { arsort($key_value); } reset($key_value); foreach ($key_value as $k => $v) { $new_array[$k] = $arr[$k]; } return $new_array; } $arr = array( array( 'name' => 'a', 'sex' => 'm', 'sort' => 5 ), array( 'name' => 'c', 'sex' => 'm', 'sort' => 8 ), array( 'name' => 'g', 'sex' => 'm', 'sort' => 3 ), array( 'name' => 'e', 'sex' => 'w', 'sort' => 6 ), array( 'name' => 'b', 'sex' => 'w', 'sort' => 2 ), ); //打印出原数组 print_r($arr); //打印出排好序的数组 print_r(array_sort($arr,'name')); ?>
結果を出力すると、配列が「名前」に従ってソートされていることがわかります。
りー以上がPHP開発スキル(2) ~キーによる2次元配列ソートを実装する事例~の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。