"asdfas/2131-safa",'drged'=>1234,'kjyr'=>1,'bnt">
当前位置:Gxlcms > PHP教程 > 【新人】请全部PHPER运行一下下面的代码,然后说说感想

【新人】请全部PHPER运行一下下面的代码,然后说说感想

时间:2021-07-01 10:21:17 帮助过:3人阅读

【新人】请所有PHPER运行一下下面的代码,然后说说感想!

$arr=array('aaa'=>"123234.232342",'dfwee'=>"asdfas/2131-safa",'drged'=>1234,'kjyr'=>1,'bnt'=>true);
foreach($arr as $key=>$val){
echo "{$val}==1234 resault is:".($val==1234)." || {$val}===1234 resault is:".($val===1234)."
";
}

分享到: 更多


------解决方案--------------------
我想你是对这个有点疑惑吧
'bnt'=>true 时输出
1==1234 resault is:1
------解决方案--------------------
1===1234 resault is:

只不过 true 被你显示成了 1
true==1234 resault is:1
------解决方案--------------------
true===1234 resault is:
是不是就清楚点了呢
1234 是非空值,自然就是逻辑真(true)了,所以 is:1
true===1234 同时还要检查数据类型是否一致,显然一个逻辑型一个数值型是不一致的,所以就 is:

在输出时,true 被打印成 1 和 false 被打印成空

------解决方案--------------------
因为 php 是弱类型的,而弱类型更贴近自然语言
何况出处都要你自己转换数据类型,你不先麻烦吗?

------解决方案--------------------
你的代码中有没有出现 array_search,怎么被害惨了?
------解决方案--------------------
奇怪了,数组的数据多来源于数据库或文件。自然每个元素的数据类型是一样的
没必要判断类型吧?

人气教程排行