判断一个PHP数组是否使用键或索引。
判断一个PHP数组是否使用键或索引。
这个问题已经有了答案:
如何判断PHP数组是这样构建的:
array('First', 'Second', 'Third');
还是这样构建的:
array('first' => 'First', 'second' => 'Second', 'third' => 'Third');
???
admin 更改状态以发布 2023年5月22日
我在我的PHP工具箱中有这些简单的函数:
function is_flat_array($ar) { if (!is_array($ar)) return false; $keys = array_keys($ar); return array_keys($keys) === $keys; } function is_hash($ar) { if (!is_array($ar)) return false; $keys = array_keys($ar); return array_keys($keys) !== $keys; }
我从未在大型数组上测试其性能。我主要在10个或更少键的数组上使用它,因此通常不是问题。我怀疑它的性能会比将$keys与生成的范围0..count($array)
进行比较更好。