2017-10-21 5 views
-1

저는 PHP에 익숙하지 않고 연관 배열 목록을 정렬하려고합니다. 패밀리 필드에서 문자열을 내림차순으로 정렬하려고합니다. 연관 배열 ... 배열을 정렬하려고 할 때마다이 오류가 발생합니다. 당신이 "가족"에 의해 배열을 정렬하려는 경우PHP array_multisort가 오류를 던졌습니다

Warning: array_multisort(): Argument #1 is expected to be an array or a sort flag. 

PHP 코드

<?php 

$allColors = array(
    '0' => array(
    "id"=> "1", 
    "family"=> "blue", 
    "name"=> "ariel blue", 
    "hex"=> "#339FFF"), 

'3' => array(
    "id"=> "3", 
    "family"=> "green", 
    "name"=> "forest", 
    "hex"=> "#FAFF33"), 

'1' => array(
    "id"=> "2", 
    "family"=> "blue", 
    "name"=> "aqua marine", 
    "hex"=> "#339FFF"), 

'4' => array(
    "id"=> "4", 
    "family"=> "green", 
    "name"=> "lime", 
    "hex"=> "#FAFF33"), 

'2' => array(
    "id"=> "5", 
    "family"=> "blue", 
    "name"=> "teal", 
    "hex"=> "#339FFF"), 

'5' => array(
    "id"=> "6", 
    "family"=> "green", 
    "name"=> "yellow-green", 
    "hex"=> "#FAFF33") 
); 

array_multisort($family, SORT_DESC, $allColors); 

?> 
+0

'$ family'의 내용은 무엇입니까? 그것을 샘플 코드에 추가해야합니까? – Scuzzy

+2

글쎄, 오류 메시지는 아주 자명하다. 인자 # 1 ($ family)은 배열이 아니며 정렬 플래그도 아니다. – RogerC

답변

1

, 그 첫 번째 매개 변수는 '가족'칼럼의 내용으로 요구는 array_multisort합니다.

array_multisort(array_column($allColors, 'family'), SORT_DESC, $allColors);