怎么判断一个PHP数组是关联数组还是数字数组的函数

网络整理 - 07-29

在php程序开发中我们如何判断一个数组是关联数组还是数字数组呢?

比如下面这个例子:

function is_assoc($arr) {
    return array_keys($arr) !== range(0, count($arr) - 1);
}

我们可以这样做:

$arr = array(1, 2, 3, 4, 5, 6, 7);print is_assoc($arr); // 输出false$arr = array("foo" => "bar", "bar" => "foo");print is_assoc($arr); // 输出true$arr = array("foo" => "bar", 3, 4, 5);print is_assoc($arr); // 输出true