作者:手机用户2502868585 | 来源:互联网 | 2013-06-27 09:23
知识是需要多巩固的,尤其是一些很简单的小知识,有时长时间不去接触就容易忘。今天同事在使用in_array()时遇到一个小问题很是不解,后来查了下资料才发现自己基础知识还是没记好
知识是需要多巩固的,尤其是一些很简单的小知识,有时长时间不去接触就容易忘。今天同事在使用in_array()时遇到一个小问题很是不解,后来查了下资料才发现自己基础知识还是没记好…
是这样的,在使用in_array($k,$arr)来判断$k是否在$arr数组中时,当$k=0时,发现in_array()返回的是一个true。一开始很是不解,$arr中并没有0这个值。后来在查资料时注意到“在数字与字符串进行比较与运算时,PHP会将字符串强制转换成数字”,原因就在这里了,由于$arr数组中全是一些字符串的值,所以使用in_array()判断时,php会先将字符串转换成数字再进行判断,而如果字符串是全是非数字时,php将其转换成0,所以呢,判断结束返回一个true也是可以理解了~~
一点儿小小的知识点直接反映出自己学习的不足,基础不够扎实就容易犯这种“病”,在一些本不该纠结的问题上去纠结…