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

WBOY
リリース: 2016-06-13 10:16:48
オリジナル
799 人が閲覧しました

关于数组的一点困惑

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);
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート