Php 交互模式下的var_dump显示意外结果
我在我的shell(ubuntu 12)上遇到了一个奇怪的行为,我无法解释: 变量转储(数组(1.5=>“a”,2.2=>“b”,2.5=>“c”) 在我的shell中打印以下内容:Php 交互模式下的var_dump显示意外结果,php,Php,我在我的shell(ubuntu 12)上遇到了一个奇怪的行为,我无法解释: 变量转储(数组(1.5=>“a”,2.2=>“b”,2.5=>“c”) 在我的shell中打印以下内容: array(2) { [1]=> string(1) "a" [2]=> string(1) "c" } 有人能解释一下吗?“b”怎么了?为什么不打印? (PHP 5.3)这里发生了两件事: 数组键只能是字符串或整数。浮点数将转换为整数 如果数组声明中的多个元素使用同一
array(2) {
[1]=>
string(1) "a"
[2]=>
string(1) "c"
}
有人能解释一下吗?“b”怎么了?为什么不打印?
(PHP 5.3)这里发生了两件事:
2.2
和2.5
键被转换为整数2
。第二本书比第一本书写得多
一种选择是使用字符串键:
var_dump(array("1.5" => "a", "2.2" => "b", "2.5" => "c"));
array(3) {
'1.5' =>
string(1) "a"
'2.2' =>
string(1) "b"
'2.5' =>
string(1) "c"
}
这里发生了两件事:
2.2
和2.5
键被转换为整数2
。第二本书比第一本书写得多
一种选择是使用字符串键:
var_dump(array("1.5" => "a", "2.2" => "b", "2.5" => "c"));
array(3) {
'1.5' =>
string(1) "a"
'2.2' =>
string(1) "b"
'2.5' =>
string(1) "c"
}
键入强制转换和覆盖示例
<?php
$array = array(
1 => "a",
2.2 => "b",
2.5 => "c",
);
var_dump($array);
?>
如上例所示,将2.2
和2.5
转换为2
,每个新元素上的值将被覆盖
,最后分配的值“c”是唯一剩下的值
有关详细信息,请单击键入强制转换和覆盖示例
<?php
$array = array(
1 => "a",
2.2 => "b",
2.5 => "c",
);
var_dump($array);
?>
如上例所示,将2.2
和2.5
转换为2
,每个新元素上的值将被覆盖
,最后分配的值“c”是唯一剩下的值
有关更多信息,请单击手册可以:
2.2
被视为2。并且,2.5
也被视为2。在这种情况下,2.5
覆盖2.2
,因为两个值都是2。手册可以:2.2
被视为2。并且,2.5
也被视为2。在这种情况下,2.5
覆盖2.2
,因为两个值都是2。