使用多維數組時,可能需要根據特定鍵的值對數組進行排序。例如,如果您有一個包含圖像清單的數組,您可能想要按日期或大小對它們進行排序。
按單一鍵對陣列進行排序關鍵,您可以使用 usort() 函數。此函數有兩個參數:要排序的陣列和排序函數。排序函數必須接受兩個參數,這兩個參數代表要比較的兩個元素。
例如,假設我們有以下數組,我們想要按「order」鍵的值對其進行排序:
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 ) )
要對這個數組進行排序,我們可以使用下面的排序函數:
function sortByOrder($a, $b) { if ($a['order'] > $b['order']) { return 1; } elseif ($a['order'] < $b['order']) { return -1; } return 0; }
然後,我們可以傳遞這個函數傳遞給usort()函數:
usort($myArray, 'sortByOrder');
排序後,陣列將依照「order」鍵的值排序:
Array ( [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Ready [order] => 1 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 3 ) )
要按多個鍵將陣列排序,可以使用以下方法:
例如,假設我們有以下數組,我們想要按「order」鍵的值進行排序,然後透過「title」鍵的值:
Array ( [0] => Array ( [hashtag] => a7e87329b5eab8578f4f1098a152d6f4 [title] => Flower [order] => 1 ) [1] => Array ( [hashtag] => b24ce0cd392a5b0b8dedc66c25213594 [title] => Free [order] => 2 ) [2] => Array ( [hashtag] => e7d31fc0602fb2ede144d18cdffd816b [title] => Free [order] => 2 ) [3] => Array ( [hashtag] => c1ede105cf8a54bbfb9f06542a9971bb [title] => Ready [order] => 3 ) )
要對該數組進行排序,我們可以使用以下排序函數:
以上是如何在 PHP 中透過一個或多個鍵對多維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!