首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

关于数组的一点困惑解决方法

2012-04-23 
关于数组的一点困惑PHP code$arr array()$numhello worldif(isset($num)) {$arr $numvar_dump($

关于数组的一点困惑

PHP code
$arr = array();$num='hello world';if(isset($num)) {    $arr = $num;    var_dump($arr);} else {    $arr[] = array(1,2,3);    var_dump($arr);}

运行后再浏览器显示的是字符串型
HTML code
string(11) "hello world" 

可我已经设置了arr是数组,不懂内在原因,还是$arr = $num;这句已经重新声明了个变量arr???

[解决办法]
这就是弱类型……

$str= "123";
echo$str[0];//这样子也没问题的,输出1
[解决办法]
变量的类型可随上下文自动变换,这就是所谓的弱类型

你有 $arr = $num; 于是 $arr 就变成字符串了
[解决办法]
PHP的类型随时会变的,要强制类型转换才行,像这样:var_dump((array)$arr);

热点排行