Heim >Backend-Entwicklung >PHP-Tutorial > 关于数组的一点困惑解决方法

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

WBOY
WBOYOriginal
2016-06-13 13:35:45878Durchsuche

关于数组的一点困惑

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);
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn