首頁 > 後端開發 > php教程 > 如何使用 array_multisort() 的多列對 PHP 中的多維數組進行排序?

如何使用 array_multisort() 的多列對 PHP 中的多維數組進行排序?

Patricia Arquette
發布: 2024-12-16 14:23:15
原創
105 人瀏覽過

How can I sort a multidimensional array in PHP using multiple columns with `array_multisort()`?

按多列對多維數組進行排序

使用多個條件對多維數組進行排序可能是一項複雜的任務,但這對於組織和檢索資料至關重要且有效率。本題探討如何使用 array_multisort() 對基於多列的多維數組進行排序。

理解 array_multisort()

array_multisort() 是內建的 PHP 函數可以使用多個條件來排序陣列。它接受任意數量的數組作為輸入,表示要排序的列。比較每個輸入數組中的對應元素進行排序。

實作

  1. 辨識排序鍵:決定要排序的資料列排序方式。在本例中,您有“state”、“event_type”和“date_start”。
  2. 取得列資料: 建立一個陣列 ($sort) 來儲存指定排序的值鍵。循環遍歷原始數組並提取每個鍵的資料。
  3. 對列進行排序: 使用 $sort 陣列呼叫 array_multisort()。為每列指定所需的排序順序(例如,SORT_DESC 表示「state」)。
  4. 更新原始陣列: 排序後,array_multisort() 修改原始陣列 ($mylist)。

範例程式碼

$sort = array();
foreach($mylist as $k=>$v) {
    $sort['state'][$k] = $v['state'];
    $sort['event_type'][$k] = $v['event_type'];
    $sort['date_start'][$k] = $v['date_start'];
}

array_multisort($sort['state'], SORT_ASC,
                $sort['event_type'], SORT_DESC,
                $sort['date_start'], SORT_ASC,
                $mylist);
登入後複製

結果:

$mylist 數位化>結果:

$mylist 數位元將排序。 ,依'event_type' 降序排序,依「date_start」升序排列。

以上是如何使用 array_multisort() 的多列對 PHP 中的多維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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