Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当我们查找空字符串时,为什么in_数组函数返回TRUE?_Php - Fatal编程技术网

Php 当我们查找空字符串时,为什么in_数组函数返回TRUE?

Php 当我们查找空字符串时,为什么in_数组函数返回TRUE?,php,Php,有人能给我解释一下为什么这是真的吗 in_array('', array(0,1,2)); 因为,如"基本法"所说, bool-in_数组(混合$needle,数组$haystack[,bool$strict=FALSE]) 除非设置了strict,否则使用松散比较搜索haystack 。。。而'==0是PHP语言。如果要使用严格比较,只需使用三个参数在_array()中调用: in_array('', array(0, 1, 2), true); // false 。。。因此,类型也将被检

有人能给我解释一下为什么这是真的吗

in_array('', array(0,1,2));
因为,如"基本法"所说,

bool-in_数组(混合$needle,数组$haystack[,bool$strict=FALSE])

除非设置了strict,否则使用松散比较搜索haystack

。。。而
'==0
是PHP语言。如果要使用严格比较,只需使用三个参数在_array()中调用

in_array('', array(0, 1, 2), true); // false

。。。因此,类型也将被检查,字符串
'
将没有机会与数字匹配。

在\u数组中默认执行松散比较。因此,
相当于
0

_array
函数中的
有第三个参数(布尔值),表示是否严格执行匹配

如果在_数组(“”,数组(0,1,2),TRUE)中执行
则结果将为假


请参考包括此表在内的价值: