>백엔드 개발 >PHP 튜토리얼 >PHP 배열 함수 array_multisort() 사용 예 분석_php 기술

PHP 배열 함수 array_multisort() 사용 예 분석_php 기술

WBOY
WBOY원래의
2016-05-16 19:55:031897검색

이 글은 PHP 배열 함수 array_multisort()의 사용법을 예시와 함께 분석합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

때때로 2차원 배열의 키 값을 정렬해야 하는 경우가 있습니다. 이 문제는 여기에서 논의됩니다. array_multisort() 함수를 사용할 수 있습니다. array_multisort() 함수는 여러 배열 또는 다차원 배열을 정렬합니다.

매개변수의 배열은 테이블 열로 처리되고 행별로 정렬됩니다. 이는 SQL의 ORDER BY 절 기능과 유사합니다. 첫 번째 배열은 정렬할 기본 배열입니다. 배열의 행(값)이 동일하다고 비교되면 다음 입력 배열의 해당 값 크기에 따라 정렬됩니다.

첫 번째 매개변수는 배열이고 각 후속 매개변수는 배열이거나 다음 정렬 순서 플래그 중 하나일 수 있습니다(정렬 플래그는 기본 정렬 순서를 변경하는 데 사용됩니다).

SORT_ASC - 기본값, 오름차순으로 정렬됩니다. (A-Z)
SORT_DESC - 내림차순으로 정렬합니다. (Z-A)

그런 다음 정렬 유형을 지정할 수 있습니다.

SORT_REGULAR - 기본값. 각 항목을 규칙적인 순서로 배열하세요.
SORT_NUMERIC - 각 항목을 숫자순으로 정렬합니다.
SORT_STRING - 각 항목을 알파벳순으로 정렬합니다.

구문: array_multisort(array1,정렬 순서,정렬 유형,array2,array3...)

array1: 필수입니다. 입력 배열을 지정합니다.
정렬 순서: 선택 사항입니다. 정렬 순서를 지정합니다. 가능한 값은 SORT_ASC 및 SORT_DESC입니다.
정렬 유형: 선택 사항. 정렬 유형을 지정합니다. 가능한 값은 SORT_REGULAR, SORT_NUMERIC 및 SORT_STRING입니다.
array2: 선택 사항입니다. 입력 배열을 지정합니다.
array3: 선택 사항입니다. 입력 배열을 지정합니다.

문자열 키 이름은 유지되지만 숫자 키는 0부터 시작하여 1씩 증가하여 다시 색인화됩니다. 정렬 순서와 정렬 유형은 각 배열 다음에 설정할 수 있습니다. 설정하지 않으면 각 배열 매개변수는 기본값을 사용합니다.

예는 다음과 같습니다.

<&#63;php
 $arr = '';
 echo '二维数组如下:'.'<br / >';
 for($i=0; $i<=5; $i++)
 {
 $arr[$i]['val'] = mt_rand(1, 100);
 $arr[$i]['num'] = mt_rand(1, 100);
 }
 echo '<pre class="brush:php;toolbar:false">';
 print_r($arr);
 echo '
'; echo '从二维数组中抽出键为val,单独成另一个数组:'.'
'; foreach ($arr as $key => $row) { $vals[$key] = $row['val']; $nums[$key] = $row['num']; } echo '
';
 print_r($vals);
 echo '
'; echo '对其进行排序:'.'
'; array_multisort($vals, SORT_ASC, $arr); echo '
';
 print_r($vals);
 echo '
'; ?>

실행 결과:

二维数组如下:
Array
(
  [0] => Array
    (
      [val] => 46
      [num] => 49
    )
  [1] => Array
    (
      [val] => 8
      [num] => 24
    )
  [2] => Array
    (
      [val] => 37
      [num] => 3
    )
  [3] => Array
    (
      [val] => 32
      [num] => 35
    )
  [4] => Array
    (
      [val] => 19
      [num] => 38
    )
  [5] => Array
    (
      [val] => 30
      [num] => 37
    )
)

 
从二维数组中抽出键为val,单独成另一个数组:

Array
(
  [0] => 46
  [1] => 8
  [2] => 37
  [3] => 32
  [4] => 19
  [5] => 30
)

对其进行排序:

Array
(
  [0] => 8
  [1] => 19
  [2] => 30
  [3] => 32
  [4] => 37
  [5] => 46
)

이런 방식으로 우리는 val을 기준으로 오름차순으로 정렬된 2차원 배열을 얻게 됩니다.

더 많은 PHP 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제를 확인할 수 있습니다. "PHP 작업 및 연산자 사용법 요약", "PHP 네트워크 프로그래밍 기술 요약", " PHP 기본 구문 입문 튜토리얼", "PHP 오피스 문서 조작 스킬 요약(워드, 엑셀, 액세스, ppt 포함)", "요약 PHP 날짜 및 시간 사용법》, "php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php mysql 데이터베이스 운영 입문 튜토리얼" 그리고 "PHP의 일반적인 데이터베이스 운영 기술 요약"

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.