首頁 > 後端開發 > php教程 > 如何在 PHP 中對數組和資料進行排序?

如何在 PHP 中對數組和資料進行排序?

Linda Hamilton
發布: 2025-01-02 15:36:41
原創
963 人瀏覽過

How to Sort Arrays and Data in PHP?

如何在 PHP 中對陣列和資料進行排序?

基本一維數組

這包括多維數組(包括物件數組)和排序一個數組基於另一個數組。

排序功能:

  • 排序
  • r排序
  • 排序
  • 排序
  • natsort
  • natcasesort
  • ksort
  • krsort

多維數組,包括對像數組

PHP 需要自定義比較函數來對複雜值進行排序。

步驟:

  1. 創建一個比較函數,該函數接受兩個元素並返回:

    • 如果元素相等,則傳回0。
    • 如果第一個值較小,則傳回小於 0 的值。
    • 如果第一個值大於 0,則傳回值值較高。
  2. 使用其中一個函數:

    • usort
    • ua sort
    • uksort

自訂數值比較

如果依數字排序key:

function cmp(array $a, array $b) {
    return $a['baz'] - $b['baz'];
}
登入後複製

物件

如果一組物件排序:

function cmp($a, $b) {
    return $a->baz - $b->baz;
}
登入後複製

以多個欄位排序

依照一個欄位進行初級排序(例如,「foo」)和另一個二次排序(例如, "baz"):

function cmp(array $a, array $b) {
    if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) {
        return $cmp;
    } else {
        return $a['baz'] - $b['baz'];
    }
}
登入後複製

依手動順序排序

依特定順序排序(例如,"foo"、"bar"、"baz"):

function cmp(array $a, array $b) {
    static $order = array('foo', 'bar', 'baz');
    return array_search($a['foo'], $order) - array_search($b['foo'], $order);
}
登入後複製

根據另一個數組對一個數組進行排序

根據一個數組對另一個數組進行排序另一種:

array_multisort($array1, $array2);
登入後複製

Array_column

從PHP 5.5.0 開始,您可以使用array_column提取特定列並對數組進行相應排序:

array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
登入後複製

以上是如何在 PHP 中對數組和資料進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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