php是弱类型语言, 比如 变量$v的值为: 0 , false , null , '' ,"" ,未定义
if(!$v) echo "true";
都会输出true, 所以这些条件都为假, 这在其他一些语言中是不能容忍的。
于是我们在日常开发中也慢慢的习惯了这种弱类型。
以至于我们在判断字符串相等时,也会直接忽略了0的存在直接比较, 比如:
$v = array(0=>"a", "type"=>"b",1=>"c");
$useArr = array();
foreache($v as $key=>$value){
if($key == 'type'){ continue;}
$useArr[] = $value;
}
我们本来只想过滤掉键值为type的数据, 但结果不小心会使键值为0的数据也过滤掉了。
原因是0键值为整形,而与字符串比较时,会先将字符转化为整形,没有数字开头的字符串一般都是转化为0,因此这里需要用 === 来替代,这样才万无一失。
小心小心,切记切记, :)
如果是强类型语言在编译时就会提示错误, 不能直接比较。
解释型与编译型,弱类型与强类型, 各有千秋啊。
相关推荐
煤化工产业研究系列之一:我们为何此时重提煤化工?.pdf
建筑行业周报:碳中和目标重提,装配式与工业建筑有望受益.pdf
房地产行业周报:重提住房消费强化居住属性,一二手成交持续向好
建筑行业周报:基建补短板重提,板块估值有望提升
煤炭开采行业煤化工产业研究系列之一:我们为何此时重提煤化工?-1031-光大证券-34页.pdf
房地产行业周报:重提住房消费强化居住属性,一二手成交持续向好.pdf
建筑行业周报:基建补短板重提,板块估值有望提升.pdf
建材行业周报:华中地区水泥供应紧张,重提租赁市场培育.pdf
建筑行业周报:市场情绪有所回落,监管重提发展装配式建筑
银行业深度报告:2022年社融和M2展望,重提稳增长
建筑行业周报:落户放宽利好家装,钢构重提利好总包
建筑行业周报:市场情绪有所回落,监管重提发展装配式建筑.pdf
建材行业周报:砂石产业政策重提,机制砂渗透率有望再提升.pdf
机械设备行业点评报告:重提扩大内需,政策微调,看好工程机械估值修复和先进制造龙头.pdf
建筑行业周报:落户放宽利好家装,钢构重提利好总包.pdf
家用电器八月行业动态报告:地产竣工好转,支持绿色智能家电被重提.pdf
电气设备和新能源行业动态:财政部重提支持新能源车发展,政策加码预期持续升温.pdf
银行行业周报:货政报告重提结构性去杠杆,银保监布置19年监管整治工作.pdf
银行行业点评:央行1季度货政报告点评-结构性去杠杆重提,货币政策强调适时适度.pdf
房地产行业周报:经济会议重提“稳地价、稳房价、稳预期”,深圳取消商务公寓“只租不售”