함수 bool array_multisort (array &$arr [, Mixed $arg = SORT_ASC [, Mixed $arg = SORT_REGULAR [, Mixed $...]]] )
매개변수 설명: 이 함수는 여러 배열 또는 다차원 배열을 정렬합니다. Sort
첫 번째 매개변수는 배열이고 각 후속 매개변수는 배열이거나 다음 정렬 순서 플래그일 수 있습니다.
SORT_ASC - 기본값, 오름차순으로 정렬
SORT_DESC - 내림차순으로 정렬
다음을 수행할 수 있습니다. 그런 다음 정렬 유형
SORT_REGULAR(기본값)을 지정합니다. 각 항목을 규칙적인 순서로 배열하세요.
SORT_NUMERIC - 각 항목을 숫자순으로 정렬합니다.
SORT_STRING - 각 항목을 알파벳순으로 정렬합니다.
예제 코드
$arr1 = array('10', 11, 100, 100, 'a'); $arr2 = array(1, 2, 3, '2', 5); array_multisort($arr1, $arr2);
결과는 다음과 같습니다.
$arr1
Array ( [0] => 10 [1] => a [2] => 11 [ 3 ] => 100 [4] => 100 )
# '10'은 11, 100, 100과 비교하면 정수 10으로 변환되는데, 이는 다른 세 숫자보다 작습니다.
# '10 '가 'a'에 있음 문자열로 비교하면 첫 번째 문자 '1'의 ASCII 코드 값은 49로 'a'(ASCII 값은 97)보다 작으므로 '10'이 가장 작은 요소입니다. ># 'a'는 다른 세 숫자의 비교에 속함 이면 다른 세 숫자보다 작은 정수 0으로 변환됩니다.
$arr2
Array ( [0] => 1 [ 1] => 5 [2] => 2 [3] => 2 [4] => 3 )
# $arr2 요소 1은 $arr1 요소 '10' 위치에 해당합니다. [0] 위치
# $arr1[2] => 100, $arr1[ 3] => 100은 각각 $arr2 요소 3과 '2'에 해당합니다. 3은 '2'보다 크므로 2에 해당하는 $arr1[2] => 100의 정렬된 첨자는
3이고, 3에 해당하는 $arr1[3] => 100의 정렬된 첨자는 4입니다.
요약
1. 정렬에 참여하는 배열 요소의 개수는 동일합니다.
2. 정렬된 배열 요소의 위치는 예를 들어 '10' => 1 , 11 => 2 3. 다음 배열 이전 배열의 순서에 따라 정렬
4. 이전 배열에서 동일한 요소가 발견되면 다음 배열을 비교합니다.
array_multisort — 여러 배열 또는 다차원 배열 정렬
설명
bool array_multisort ( array $ar1 [, Mixed $arg [, Mixed $... [, array $... ]]] )
성공 시 TRUE를 반환하고, 실패 시 FALSE를 반환합니다. .
array_multisort()는 여러 배열을 한 번에 정렬하거나 하나 이상의 차원에 따라 다차원 배열을 정렬하는 데 사용할 수 있습니다.
연관된(문자열) 키 이름은 변경되지 않지만 숫자 키 이름은 다시 색인화됩니다.
입력 배열은 테이블 열로 처리되고 행별로 정렬됩니다. 이는 SQL의 ORDER BY 절 기능과 유사합니다. 첫 번째 배열은 정렬할 기본 배열입니다. 배열의 행(값)이 동일한 것으로 비교되면 다음 입력 배열의 해당 값 크기에 따라 정렬됩니다.
이 함수의 매개변수 구조는 다소 특이하지만 매우 유연합니다. 첫 번째 매개변수는 배열이어야 합니다. 다음 각 인수는 아래 나열된 배열 또는 정렬 플래그일 수 있습니다.
정렬 순서 플래그:
SORT_ASC - 오름차순 정렬
SORT_DESC - 내림차순 정렬
정렬 유형 플래그:
SORT_REGULAR - 정렬 내림차순으로 항목은 일반적인 방법에 따라 비교됩니다.
SORT_NUMERIC - 항목은 숫자 값에 따라 비교됩니다.
SORT_STRING - 항목은 문자열에 따라 비교됩니다.
다음에는 두 개의 유사한 정렬 플래그를 지정할 수 없습니다. 각 배열. 각 배열 뒤에 지정된 정렬 플래그는 해당 배열에만 유효합니다. 그 이전에는 기본값 SORT_ASC 및 SORT_REGULAR입니다.
#1 여러 배열 정렬
<?php $ar1 = array("10", 100, 100, "a"); $ar2 = array(1, 3, "2", 1); array_multisort($ar1, $ar2); var_dump($ar1); var_dump($ar2); ?>#2 다차원 배열 정렬
array(4) { [0]=> string(2) "10" [1]=> string(1) "a" [2]=> int(100) [3]=> int(100) } array(4) { [0]=> int(1) [1]=> int(1) [2]=> string(1) "2" [3]=> int(3) }이 예에서 정렬한 후 첫 번째 배열에는 10, 100, 100, "a"(문자열로 정렬됨)가 포함됩니다. 오름차순) 두 번째 배열에는 1, 3, "2", 1(숫자 내림차순으로 정렬)이 포함됩니다.
<?php $ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1)); array_multisort ($ar[0], SORT_ASC, SORT_STRING, $ar[1], SORT_NUMERIC, SORT_DESC); ?>
#3 다차원 배열 정렬
<?php $ar = array( array("10", 11, 100, 100, "a"), array( 1, 2, "2", 3, 1) ); array_multisort($ar[0], SORT_ASC, SORT_STRING, $ar[1], SORT_NUMERIC, SORT_DESC); var_dump($ar); ?>
array(2) { [0]=> array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" } [1]=> array(5) { [0]=> int(1) [1]=> int(3) [2]=> string(1) "2" [3]=> int(2) [4]=> int(1) } }
#4 对数据库结果进行排序
本例中 data 数组中的每个单元表示一个表中的一行。这是典型的数据库记录的数据集合。
例子中的数据如下:
volume | edition
-------+--------
67 | 2
86 | 1
85 | 6
98 | 2
86 | 6
67 | 7
数据全都存放在名为 data 的数组中。这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc()。
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>
本例中将把 volume 降序排列,把 edition 升序排列。
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。
// 取得列的列表
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
// 将数据根据 volume 降序排列,根据 edition 升序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>
数据集合现在排好序了,结果如下:
volume | edition
-------+--------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
Example #5 不区分大小写字母排序
SORT_STRING 和 SORT_REGULAR 都是区分大小写字母的,大写字母会排在小写字母之前。
要进行不区分大小写的排序,就要按照原数组的小写字母拷贝来排序。
<?php $array = array('Alpha', 'atomic', 'Beta', 'bank'); $array_lowercase = array_map('strtolower', $array); array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array); print_r($array); ?>
以上例程会输出:
Array
(
[0] => Alpha
[1] => atomic
[2] => bank
[3] => Beta
)
【译者注】本函数相当有用,为有助于理解,请再看下面这个例子:
Example #6 名次排列
<?php $grade = array("score" => array(70, 95, 70.0, 60, "70"), "name" => array("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "Liu Qi")); array_multisort($grade["score"], SORT_NUMERIC, SORT_DESC, // 将分数作为数值,由高到低排序 $grade["name"], SORT_STRING, SORT_ASC); // 将名字作为字符串,由小到大排序 var_dump($grade); ?>
以上例程会输出:
array(2) {
["score"]=>
array(5) {
[0]=>
int(95)
[1]=>
string(2) "70"
[2]=>
float(70)
[3]=>
int(70)
[4]=>
int(60)
}
["name"]=>
array(5) {
[0]=>
string(5) "Li Si"
[1]=>
string(6) "Liu Qi"
[2]=>
string(7) "Wang Wu"
[3]=>
string(9) "Zhang San"
[4]=>
string(8) "Zhao Liu"
}
}
本例中对包含成绩的数组 $grade 按照分数(score)由高到低进行排序,分数相同的人则按照名字(name)由小到大排序。排序后李四 95 分为第一名,赵六 60 分为第五名没有异议。张三、王五和刘七都是 70 分,他们的名次则由其姓名的字母顺序排列,Liu 在前,Wang 在后而 Zhang 在最后。为了区别,三个 70 分分别用了整数,浮点数和字符串来表示,可以在程序输出中清楚地看到它们排序的结果。
更多PHP array_multisort()函数的使用札记相关文章请关注PHP中文网!

여전히 인기있는 것은 사용 편의성, 유연성 및 강력한 생태계입니다. 1) 사용 편의성과 간단한 구문은 초보자에게 첫 번째 선택입니다. 2) 웹 개발, HTTP 요청 및 데이터베이스와의 우수한 상호 작용과 밀접하게 통합되었습니다. 3) 거대한 생태계는 풍부한 도구와 라이브러리를 제공합니다. 4) 활성 커뮤니티와 오픈 소스 자연은 새로운 요구와 기술 동향에 맞게 조정됩니다.

PHP와 Python은 웹 개발, 데이터 처리 및 자동화 작업에 널리 사용되는 고급 프로그래밍 언어입니다. 1.PHP는 종종 동적 웹 사이트 및 컨텐츠 관리 시스템을 구축하는 데 사용되며 Python은 종종 웹 프레임 워크 및 데이터 과학을 구축하는 데 사용됩니다. 2.PHP는 Echo를 사용하여 콘텐츠를 출력하고 Python은 인쇄를 사용합니다. 3. 객체 지향 프로그래밍을 지원하지만 구문과 키워드는 다릅니다. 4. PHP는 약한 유형 변환을 지원하는 반면, 파이썬은 더 엄격합니다. 5. PHP 성능 최적화에는 Opcache 및 비동기 프로그래밍 사용이 포함되며 Python은 Cprofile 및 비동기 프로그래밍을 사용합니다.

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
