프로그래밍 언어/PHP

PHP에서 주어진 키의 값으로 연관 배열의 배열을 정렬하는 방법

Rateye 2021. 7. 21. 10:40
728x90
반응형

 

질문 : PHP에서 주어진 키의 값으로 연관 배열의 배열을 정렬하는 방법은 무엇입니까?

이 배열이 주어지면 :

$inventory = array(

   array("type"=>"fruit", "price"=>3.50),
   array("type"=>"milk", "price"=>2.90),
   array("type"=>"pork", "price"=>5.43),

);

$inventory 의 요소를 가격별로 정렬하여 다음을 얻고 싶습니다.

$inventory = array(

   array("type"=>"pork", "price"=>5.43),
   array("type"=>"fruit", "price"=>3.50),
   array("type"=>"milk", "price"=>2.90),

);

어떻게 할 수 있습니까?

답변

당신이 맞습니다, 당신이 찾고있는 함수는 array_multisort() 입니다.

다음은 설명서에서 바로 가져와 귀하의 경우에 적용한 예입니다.

$price = array();
foreach ($inventory as $key => $row)
{
    $price[$key] = $row['price'];
}
array_multisort($price, SORT_DESC, $inventory);

PHP 5.5.0부터 foreach 대신 array_column() 사용할 수 있습니다.

$price = array_column($inventory, 'price');
                      
array_multisort($price, SORT_DESC, $inventory);
출처 : https://stackoverflow.com/questions/1597736/how-to-sort-an-array-of-associative-arrays-by-value-of-a-given-key-in-php
728x90
반응형