首頁  >  文章  >  後端開發  >  关于数组的一点困惑解决方法

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

WBOY
WBOY原創
2016-06-13 13:35:45834瀏覽

关于数组的一点困惑

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$arr = array();
$num='hello world';

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


运行后再浏览器显示的是字符串型
HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->string(11) "hello world" 

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

------解决方案--------------------
这就是弱类型……

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

你有 $arr = $num; 于是 $arr 就变成字符串了
------解决方案--------------------
PHP的类型随时会变的,要强制类型转换才行,像这样:var_dump((array)$arr);
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn