为啥 in_array('x', [0, 1]) 是 true
in_array('x', [0, 1])
true
in_array('x', [0, 1], true) 加第三个参数为 true 就会检查类型是否匹配了
in_array('x', [0, 1], true)
类型转换 原因就在于,在比较前,PHP做了类型转换。
string类型的数据会转换成int型,然后再比较。
而如果string类型数据第一个字符不是数字,就会转换成0。
来源:https://www.iteye.com/blog/flyer0126-24346...
由于历史原因,PHP默认开启的若类型,在做比对前,会做一次隐式类型转换。如果不想隐式转化,就加第三个参数,使用严格模式就好了
我要举报该,理由是:
in_array('x', [0, 1], true)
加第三个参数为true
就会检查类型是否匹配了类型转换
原因就在于,在比较前,PHP做了类型转换。
string类型的数据会转换成int型,然后再比较。
而如果string类型数据第一个字符不是数字,就会转换成0。
来源:https://www.iteye.com/blog/flyer0126-24346...
由于历史原因,PHP默认开启的若类型,在做比对前,会做一次隐式类型转换。如果不想隐式转化,就加第三个参数,使用严格模式就好了