首頁 > 後端開發 > php教程 > 如何依內部欄位的值對多維 PHP 陣列進行排序?

如何依內部欄位的值對多維 PHP 陣列進行排序?

Linda Hamilton
發布: 2024-12-18 16:33:12
原創
609 人瀏覽過

How to Sort a Multidimensional PHP Array by an Inner Field's Value?

在PHP 中按內部字段對多維數組進行排序

假設我們有一個類似於資料庫表的多維數組,每個外部陣列元素代表一行和每個包含欄位名稱和值的內部陣列。我們希望按特定欄位(例如“價格”)對行(外部數組元素)進行排序。

要實現此目的,我們可以利用以下 PHP 函數:

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);
登入後複製

This line 以簡潔的方式實現了我們想要的結果。 array_multisort() 函數採用三個參數:

  1. array_column($yourArray, "price") - 將每個內部陣列中的「price」欄位值提取到一維數組中。
  2. SORT_ASC - 指定「價格」欄位應按升序排序。
  3. $yourArray - 多維要排序的陣列。

透過將這些函數連結在一起,我們可以有效地按「價格」欄位對外部數組元素進行排序。需要注意的是,此過程會覆寫原始 $yourArray 變量,因此如果需要保留原始順序,建議將結果指派給不同的變數。

更新:

  • 在最近的 PHP 7 版本中,使用「&」透過引用傳遞變數可能會導致錯誤。要解決此問題,可以採用以下兩行解決方法:
$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, $yourArray);
登入後複製
  • PHP 8 消除了此問題,允許使用單行解決方案而無需任何調整。

以上是如何依內部欄位的值對多維 PHP 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板