为什么这个函数返回true?

时间:2013-11-26 17:26:28

标签: php

<?php

var_dump(in_array('ddds', array(2,3,0)));

为什么这个函数返回true?我们有一个字符串可以转换为1,但为什么要转换为0?

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

这是因为ddds == 0为真(demo),而0是数组的元素。设置in_array()strict参数以确保也考虑类型。

来自documentation

  

如果第三个参数strict设置为TRUE,那么in_array()函数也会检查大海捞针的类型。

var_dump( in_array('ddds', array(2,3,0), TRUE) );

输出:

bool(false)