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 중국어 웹사이트의 기타 관련 기사를 참조하세요!