首页 > 后端开发 > php教程 > 如何区分 PHP 中的关联数组和顺序数组?

如何区分 PHP 中的关联数组和顺序数组?

DDD
发布: 2025-01-01 07:13:11
原创
276 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板