PHP에서 2차원 배열 정렬을 구현하는 방법
이 글은 주로 PHP에서 2차원 배열 정렬을 구현하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
PHP에서 2차원 배열 정렬을 하려면 PHP 내장 함수 uasort()
예제 1:
사용자 정의 비교 함수를 사용하여 배열의 값을 정렬하고 인덱스 연관 유지
콜백 함수 다음과 같습니다. 콜백 함수의 반환 값이 음수 또는 false인 경우 콜백 함수의 첫 번째 매개 변수가 앞에 있고 두 번째 매개 변수가 맨 뒤에 배열된다는 의미이므로 참고하세요.
$person = array( array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21), array('num'=>'001','id'=>7,'name'=>'ahangsan','age'=>23), array('num'=>'003','id'=>1,'name'=>'bhangsan','age'=>23), array('num'=>'001','id'=>3,'name'=>'dhangsan','age'=>23), ); //负数或者false表示第一个参数应该在前 function sort_by_name($x,$y){ return strcasecmp($x['name'],$y['name']); }
다음과 같이 사용하세요:
uasort($person,'sort_by_name');
아래에 2차원 배열이 제공됩니다. 참조 및 인터뷰용 정렬 방법:
//$array 要排序的数组 //$row 排序依据列 //$type 排序类型[asc or desc] //return 排好序的数组 function array_sort($array,$row,$type){ $array_temp = array(); foreach($array as $v){ $array_temp[$v[$row]] = $v; } if($type == 'asc'){ ksort($array_temp); }elseif($type='desc'){ krsort($array_temp); }else{ } return $array_temp; }
예 2:
1차원 배열 정렬은 asort, ksort 및 상대적으로 간단한 정렬을 처리하는 다른 방법입니다. 2차원 배열의 정렬을 구현하는 방법은 무엇입니까? array_multisort 및 usort를 사용하여
예를 들어 다음과 같은 배열을 만들 수 있습니다.
코드는 다음과 같습니다.
$users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22) );
연령별로 작은 것부터 큰 것까지 정렬하길 바랍니다. 저자는 두 가지 방법을 정리하여 여러분께 공유해 드렸습니다.
1. array_multisort를 사용하세요
이 방법을 사용하면 나이를 추출하여 1차원 배열로 저장한 다음 나이별로 오름차순으로 정렬해야 합니다. 구체적인 코드는 다음과 같습니다.
코드는 다음과 같습니다.
$ages = array(); foreach ($users as $user) { $ages[] = $user['age']; } array_multisort($ages, SORT_ASC, $users);
실행 후 $users는 정렬된 배열이므로 인쇄해서 볼 수 있습니다. 먼저 나이를 기준으로 오름차순으로 정렬한 후 이름을 기준으로 오름차순으로 정렬해야 하는 경우 방법은 위와 동일합니다. 즉, 추가 이름 배열을 추출하면 다음과 같습니다.
코드입니다.
array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users);
2. usort
를 사용하세요. 이 방법의 가장 큰 장점은 좀 더 복잡한 정렬 방법을 사용자 정의할 수 있다는 것입니다. 예를 들어 이름 길이를 기준으로 내림차순으로 정렬합니다.
코드는 다음과 같습니다.
usort($users, function($a, $b) { $al = strlen($a['name']); $bl = strlen($b['name']); if ($al == $bl) return 0; return ($al > $bl) ? -1 : 1; });
여기서는 익명 함수가 사용되며, 필요한 경우 별도로 추출할 수 있습니다. 그 중 $a, $b는 $users 배열 아래의 요소로 이해하면 name 값을 직접 인덱싱하고 길이를 계산한 후 길이를 비교할 수 있습니다.
============================================== == ====================
그런데, PHP 정렬의 몇 가지 기능은 다음과 같습니다
sort 배열 정렬일반적으로 한 가지에 적합합니다. -차원 인덱스 배열, 인덱스를 유지하지 않습니다.
rsort 배열을 역방향으로 정렬 sort
asort와 동일한 사용법 배열을 정렬하고 인덱스 관계를 유지하여 값을 정렬합니다. 일반적으로 1차원 배열에 적합합니다. 인덱스 관계 유지
arsort 배열 역정렬 및 인덱스 관계 유지asort와 사용법 동일
ksort 키 이름으로 배열 정렬
krsort 키 이름으로 배열 역정렬
요약 : 이 글의 내용은 여기까지입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
php의 readfile() 함수로 파일 크기를 설정하는 방법
PHP 사용자 정의 이미지 센터링 및 자르기 기능에 대한 자세한 설명
PHP는 폴더 복사, 삭제, 보기를 구현합니다. 반복에 따른 크기 등
위 내용은 PHP에서 2차원 배열 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Alipay PHP ...

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...
