如何在 PHP 中检查数组的键是否已设置
如何区分两者?
$a = [
'a' => ['key' => 'value'],
['key' => 'value']
];
$a = [
'a' => ['key' => 'value'],
'0' => ['key' => 'value']
];
不同的是第一个没有索引号 但默认值为 0 (['key' => 'value']) 但第二个索引为 0 ('0' => ['key' => 'value'])
注意:检查键是否是数字数组是没有意义的,因为用户可能会给出数字。
最佳答案
您的问题没有答案,因为这两个数组没有不同:它们只是编写同一事物的不同方式。
要理解我的意思,请考虑这个问题:
How can I tell the difference between the integer
1 + 3
and the integer2 + 2
?
当你查看$a = 1 + 3;
和$a = 2 + 2;
的源代码时,你可以看到区别;但是当 PHP执行该代码时,在这两种情况下它都会分配值4
。您无法编写代码来检查 $a
并找出为什么它是 4,或者它是如何计算的。
您显示的两个数组文字也是如此。尽管它们在源代码中看起来不同,但一旦执行,PHP 将在这两种情况下分配相同的数组值。
“规范”版本实际上如下所示:
$a = [
'a' => ['key' => 'value'],
0 => ['key' => 'value']
];
字符串'0'
被认为与整数0
相同的键,没有写入索引的条目按顺序分配整数索引,从0开始。
关于php - 如何在 PHP 中检查 key 是否设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66738299/