PHP数组,数组索引区分大小写吗?

41

我不确定这是否是一个问题,但想开始思考一下。

问题:

"PHP数组索引区分大小写吗?"?

示例:

$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","A"=>"Dog","B"=>"Cat","C"=>"Horse");
print_r($a);

结果:

Array ( [a] => Dog [b] => Cat [c] => Horse [A] => Dog [B] => Cat [C] => Horse ) 

我运行了几个示例,发现这是正确的,只是想确认我是否正确理解了。


我运行了几个示例,这似乎是正确的,只是想确保我看到了正确的东西。嗯,如果你运行了示例并且是正确的,那就没什么可做的 :P - Daniel Sorichetti
2
直到你接触编程中的新事物,你才会发现自己不知道的东西。 - Alana Storm
真的!很抱歉没有考虑到那个。 - Daniel Sorichetti
6个回答

62
是的。它们是区分大小写的。
在您的示例中,PHP数组索引充当哈希表。大写字母“A”和小写字母“a”具有不同的哈希值,因此它们将成为不同的索引。

8
答案:
是的,它们是。

5
是的,就像变量名一样(但不是函数名),哈希键是区分大小写的。

1

这很容易自己检查。

$dogs = array('Dog' => 'Wuff', 'dog' => 'wuff', 'DOG' => 'WUFF');
var_dump($dogs);

1

虽然大多数人熟悉的系统(Windows)不是这样,但当接触任何新语言或环境时,假设它区分大小写是一个合理的假设。PHP与几乎所有其他常用语言和环境一样,都是区分大小写的。除了前面提到的Windows之外,我能想到的最显著的例外是SQL和Delphi(Pascal)。


1

与其他人提到的一样,"是的,它们不同"。

例如 $a['id'] 与 $a['ID'] 不同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接