在PHP 中按子數組值對多維數組進行排序
在PHP 中,數組可以是多維的,這意味著它們可以在數組中包含數組。一個常見的用例是根據巢狀子數組中的特定鍵對此類數組進行排序。
按字串鍵排序
考慮以下數組:
$array = [ [ 'configuration_id' => 10, 'id' => 1, 'optionNumber' => '3', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 9, 'id' => 1, 'optionNumber' => '2', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ], [ 'configuration_id' => 8, 'id' => 1, 'optionNumber' => '1', 'optionActive' => 1, 'lastUpdated' => '2010-03-17 15:44:12' ] ];
要根據'optionNumber' 鍵對這個數組進行升序排序,我們可以使用usort以及一個匿名函數:
usort($array, function ($a, $b) { return strcmp($a['optionNumber'], $b['optionNumber']); });
此函數比較每個子數組的'optionNumber' 值,如果第一個值較大則回傳1,如果第一個值較小則回傳-1,如果第一個值小於則回傳0平等的。此比較區分大小寫。
以整數鍵排序
如果 'optionNumber' 鍵包含整數,我們可以使用以下函數:
usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
此比較將以升序數字對數組進行排序
注意事項
以上是如何依子數組值對多維 PHP 數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!