首頁 > 後端開發 > php教程 > 如何區分 PHP 中的關聯數組和順序數組?

如何區分 PHP 中的關聯數組和順序數組?

DDD
發布: 2025-01-01 07:13:11
原創
278 人瀏覽過

How Can I Distinguish Between Associative and Sequential Arrays in PHP?

在 PHP 中決定關聯數組與順序數組

PHP將所有數組維護為關聯數組,因此需要替代方法來區分關聯數組和順序數組數組,特別是那些僅包含從以下位置開始的數字鍵的數組0.

解決方案:array_is_list ()函數

PHP 8.1引入了array_is_list()函數,提供了一個簡單的解決方案:

var_dump(array_is_list([])); // true
var_dump(array_is_list(['a', 'b', 'c'])); // true
var_dump(array_is_list([0 => 'a', 1 => 'b', 2 => 'c'])); // true
var_dump(array_is_list([1 => 'a', 0 => 'b', 2 => 'c'])); // false
var_dump(array_is_list(['a' => 'a', 'b' => 'b', 'c' => 'c'])); // false
登入後複製

遺留的自訂函數程式碼:

如果使用不支援 PHP 8.1的遺留程式碼,可以使用以下自訂函數:

function array_is_list(array $arr) {
    if ($arr === []) {
        return true;
    }
    return array_keys($arr) === range(0, count($arr) - 1);
}
登入後複製

此函數實作與 array_is_list( ) 函數,使其可以跨不同 PHP 版本移植。

以上是如何區分 PHP 中的關聯數組和順序數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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