列の値による連想配列の並べ替え
連想配列の配列が与えられた場合、タスクは特定の列に基づいて要素を並べ替えることです価値。たとえば、次の配列について考えてみます。
$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( を使用した解決策) )
これを実現するには、array_multisort() 関数を使用します。複数の配列を複数の列で並べ替えることができます。
次に例を示します:
$price = array(); foreach ($inventory as $key => $row) { $price[$key] = $row['price']; } array_multisort($price, SORT_DESC, $inventory);
または、array_column() (PHP 5.5.0 以降で利用可能) を使用します:
$price = array_column($inventory, 'price'); array_multisort($price, SORT_DESC, $inventory);
$price 配列をソートすることで、$inventory が同じものを共有するため、間接的に $inventory をソートします。キー。
以上がPHP で特定の列の値で連想配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。