关于数组的一点困惑
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);
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn