PHP 사용자 정의 함수를 사용하여 2차원 배열 정렬 기능을 구현하는 방법에 대한 자세한 설명

墨辰丷
풀어 주다: 2023-03-29 09:56:02
원래의
1683명이 탐색했습니다.

이 기사에서는 주로 배열 판단, 순회, 변환, 정렬 및 기타 관련 작업을 위한 PHP 작업 기술과 관련된 2차원 배열 정렬 기능을 구현하는 PHP 사용자 정의 함수를 소개합니다.

/**作用: 二维数组排序函数,支持多键名排序
 * 返回: 排序好的数组
 * 使用: 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[] = &#39;$&#39;.$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 = &#39;array_multisort(&#39;.join(",",$SortRule).&#39;,$ArrayData);&#39;;
  eval($EvalString);
  return $ArrayData;
}
로그인 후 복사

요약: 위의 기사는 이 기사입니다. 기사의 전체 내용이 모든 사람의 연구에 도움이 되기를 바랍니다.

관련 권장사항:

PHP에서 간단한 버블 정렬을 구현하는 방법

PHP에서 양식을 제출할 때 슬래시를 제거하는 방법

PHP 양식 제출 및 양식 데이터 처리에 대한 자세한 설명

위 내용은 PHP 사용자 정의 함수를 사용하여 2차원 배열 정렬 기능을 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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