값을 기준으로 다차원 배열 정렬
다차원 배열에서는 다음을 기준으로 요소를 정렬해야 할 수도 있습니다. 특정 키의 값. 예를 들어 다음 배열을 고려해보세요.
Array ( [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 3 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Ready [order] => 1 ) )
"순서" 키로 정렬
"순서" 키로 배열을 정렬하려면 다음을 사용할 수 있습니다. usort() 함수. 다음은 사용법에 대한 포괄적인 분석입니다.
PHP 5.2 이하:
먼저 정렬 기능 정의:
function sortByOrder($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; }
PHP 5.3 이상:
익명 사용 기능:
usort($myArray, function($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; });
PHP 7:
우주선 연산자 활용:
usort($myArray, function($a, $b) { return $a['order'] <=> $b['order']; });
PHP 7.4:
화살을 사용하세요 함수:
usort($myArray, fn($a, $b) => $a['order'] <=> $b['order']);
다차원 정렬:
다차원 정렬의 경우 첫 번째 요소가 0인 경우 후속 정렬 요소를 참조하도록 정렬 함수를 수정합니다. 예:
usort($myArray, function($a, $b) { $retval = $a['order'] <=> $b['order']; if ($retval == 0) { $retval = $a['suborder'] <=> $b['suborder']; if ($retval == 0) { $retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder']; } } return $retval; });
주요 연관
키 연관을 유지해야 하는 경우 usort() 대신 uasort()를 사용하세요.
위 내용은 PHP에서 값을 기준으로 다차원 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!