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

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

WBOY
WBOYOriginal
2016-06-23 14:39:00962browse

 $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)."<br/>";                }


回复讨论(解决方案)

我想你是对这个有点疑惑吧
'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 被打印成空

我想你是对这个有点疑惑吧
'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 被打印成空
这个判断应该是和array_search函数类似吧,如果第三个参数不设置为TRUE,那么这个判断就是不成立的
那么,为何array_search函数要第三参数可选,而不是默认就两个参数,然后判断数据类型?!

我想你是对这个有点疑惑吧
'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 被打印成空
我被array_search害惨了!!!

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

因为 php 是弱类型的,而弱类型更贴近自然语言
何况出处都要你自己转换数据类型,你不先麻烦吗?
那么问题来了,array_seach函数的原理应该和这个类似吧 那为何第三个参数是可选,如果我想搜索,那必须得把第三个参数设置为TRUE,那为何不保留两个参数,默认就是判断类型呢?!

你的代码中有没有出现 array_search,怎么被害惨了?

你的代码中有没有出现 array_search,怎么被害惨了?
我就是用了出问题,才用这样的代码来验证的!!!

奇怪了,数组的数据多来源于数据库或文件。自然每个元素的数据类型是一样的
没必要判断类型吧?

奇怪了,数组的数据多来源于数据库或文件。自然每个元素的数据类型是一样的
没必要判断类型吧?
我的不是WEB程序,看来PHP确实不适合做WEB以为的东西啊!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn