考虑这个例子。
为什么输出是B,而不是A?因为在数组中,第一个元素位于0位置。
<?php
$test = array("00"=>"A","B","C","D","E");
print_r($test);
echo "<br>";
echo $test[0];
echo "<br>";
echo $test["0"];
echo "<br>";
echo $test["00"];
echo "<br>";
echo $test[00];
?>
输出
数组 ( [00] => A [0] => B [1] => C [2] => D [3] => E )
B
B
A
B
问题1. 为什么$test[0]
与$test["0"]
相同,而$test[00]
与$test["00"]
不同?
问题2. 如果问题1的答案是因为数字上00 = 0
,那么为什么这个数组有一个索引为00
,另一个索引为0
?
问题3. 如果无法使用$test[0]
访问$test["00"]
,那么如何知道哪个索引是数字,哪个是字符串?如果两者都只是数字
编辑内容
根据目前的答案,我脑海中又出现了另一个问题。以下是问题4。
问题4. 为什么if(00==0)
是真的,而if(07==7)
是假的?(对于数组索引)
问题5.
$test = array("00"=>"A","0"=>"B","000"=>"C","0000"=>"D","00000"=>"E");
echo $test[0];
为什么输出是B,而不是A?因为在数组中,第一个元素位于0位置。
if(7=="07")
- Hanky Panky