PHP 다차원 배열 정렬 문제
滿天的星座
滿天的星座 2017-05-16 13:08:20
0
9
608

이 문제는 Mysql의 order by와 다소 유사합니다. 필요한 것은 배열의 다양한 필드 정렬을 시뮬레이션하는 것입니다.

다음과 같은 배열이 있다고 가정합니다:

$beforeSort = [
    "0" => ["이름" => "장산", "영어" => 60, "수학" => 50
    "1" => ["이름" => "이영" => 50, "중국어" => 70
    "2" => ["이름" => "老王", "english" => 30, "math" => 80
];

이제 배열에서 chinese 순서를 따라야 합니다. 동일한 경우 math 순서를 따라야 합니다. 최종 결과는 다음과 같습니다.< /p>

$afterSort = [
    "2" => ["이름" => "老王", "english" => 30, "math" => 80
    "0" => ["이름" => "장산", "영어" => 60, "수학" => 50
    "1" => ["이름" => "이영" => 50, "중국어" => 70
];

이를 달성할 수 있는 다른 방법이 있나요?

滿天的星座
滿天的星座

모든 응답(9)
左手右手慢动作

제가 직접 사용하는 버전입니다. 사용 방법:

으아아아 으아아아
迷茫

으아악

결과 인쇄:

으아악
大家讲道理

배열을 집합으로 변환한 후 처리할 수 있습니다. PHP 컬렉션을 사용하여 구현된 정렬 방법은 다양한 복잡한 정렬에 특화되어 있습니다

PHPzhong

<?php
//이제 배열에서 중국어 순서를 따라야 합니다. 동일하면 수학 순서를 따라야 합니다. 최종 결과는 다음 배열이어야 합니다.
$beforeSort = [

으아악

];

$data_math = array_column($beforeSort,'math');
$data_chinese = array_column($beforeSort,'chinese');
array_multisort($data_chinese,SORT_ASC,$data_math,SORT_ASC,$beforeSort); );

我想大声告诉你

으아아아

大家讲道理

///답은 윗집 아저씨한테 빌리세요

으아아아
某草草

다차원 배열을 정렬하려면 array_multisort를 구현할 수 있는 공식 함수가 있습니다

伊谢尔伦

으아악

Peter_Zhu

$beforeSort = [

으아아아

];

foreach($beforeSort as $key => $value) {

으아아아

}
array_multisort($chinese, SORT_ASC, $math, SORT_ASC, $beforeSort);
print_r($beforeSort);

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿