PHP 다차원 배열 2차원 배열 정렬 기능을 구현하는 PHP 사용자 정의 함수

WBOY
풀어 주다: 2016-07-27 16:56:19
원래의
1110명이 탐색했습니다.

이 기사의 예에서는 PHP 사용자 정의 함수를 통해 2차원 배열 정렬 함수를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

/**作用: 二维数组排序函数,支持多键名排序
 * 返回: 排序好的数组
 * 使用: array_msort(数组,需要排序的键名,排序方式);
 * 例子: array_msort($cflist,"chapter_orderid","SORT_ASC");
 *    array_msort($arr,"name","SORT_ASC","type","SORT_DESC","size","SORT_ASC","SORT_STRING");
 */
function array_msort($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR") {
  if(!is_array($ArrayData)) {
    return $ArrayData;
  }
  // 获取参数数量.
  $ArgCount = func_num_args();
  // 排序,并放置到SortRule数组
  for($i = 1;$i < $ArgCount;$i ++) {
    $Arg = func_get_arg($i);
    if(!eregi("SORT",$Arg)) {
      $KeyNameList[] = $Arg;
      $SortRule[] = '$'.$Arg;
    }
    else {
      $SortRule[] = $Arg;
    }
  }
  // Get the values according to the keys and put them to array.
  foreach($ArrayData AS $Key => $Info) {
    foreach($KeyNameList AS $KeyName) {
      ${$KeyName}[$Key] = $Info[$KeyName];
    }
  }
  // Create the eval string and eval it.
  $EvalString = 'array_multisort('.join(",",$SortRule).',$ArrayData);';
  eval($EvalString);
  return $ArrayData;
}

로그인 후 복사

더 많은 PHP 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제를 확인할 수 있습니다. 완전한 PHP 배열(어레이) 연산 기술" ", "php 정렬 알고리즘 요약", "php에서 일반적으로 사용되는 순회 알고리즘 및 기술 요약", "php 데이터 구조 및 알고리즘 튜토리얼", "php 프로그래밍 알고리즘 요약", "php 수학적 연산 기술 요약", "php 정규식 사용법" 요약", "PHP 연산 및 연산자 사용법 요약", "PHP 문자열(문자열) 사용법 요약" 및 "일반적인 PHP 데이터베이스 조작 기술 요약"

바랍니다. 이 기사는 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 될 것입니다.

위에서는 PHP 다차원 배열의 내용을 포함하여 2차원 배열 정렬 기능을 구현하는 PHP 다차원 배열 PHP 사용자 정의 함수를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿