在 PHP 中,in_array()
函数用于检查一个值是否存在于一个数组中。该函数有三个参数:
needle
:必需,规定要在数组中查找的值。haystack
:必需,规定要搜索的数组。strict
:可选,规定在比较时是否使用严格类型比较。默认值为false
。
第三个参数 strict
的作用是指定在进行数组元素与给定值的比较时,是否同时检查它们的类型。当 strict
设置为 true
时,则在比较时会同时检查值和类型。如果设置为 false
(默认值),则只检查值,而不考虑类型。
例如:
$array = [0, 1, 2, 3]; // 使用非严格比较(strict = false) var_dump(in_array('0', $array)); // 输出:bool(true) var_dump(in_array(0, $array)); // 输出:bool(true) // 使用严格比较(strict = true) var_dump(in_array('0', $array, true)); // 输出:bool(false) var_dump(in_array(0, $array, true)); // 输出:bool(true)
在上面的示例中,当使用非严格比较时,字符串 '0'
和整数 0
都被认为是数组中的元素。然而,在使用严格比较时,只有整数 0
被认为是数组中的元素。