在 PHP 中,in_array()
函數(shù)用于檢查一個(gè)值是否存在于一個(gè)數(shù)組中。該函數(shù)有三個(gè)參數(shù):
needle
:必需,規(guī)定要在數(shù)組中查找的值。haystack
:必需,規(guī)定要搜索的數(shù)組。strict
:可選,規(guī)定在比較時(shí)是否使用嚴(yán)格類型比較。默認(rèn)值為 false
。第三個(gè)參數(shù) strict
的作用是指定在進(jìn)行數(shù)組元素與給定值的比較時(shí),是否同時(shí)檢查它們的類型。當(dāng) strict
設(shè)置為 true
時(shí),則在比較時(shí)會(huì)同時(shí)檢查值和類型。如果設(shè)置為 false
(默認(rèn)值),則只檢查值,而不考慮類型。
例如:
$array = [0, 1, 2, 3];
// 使用非嚴(yán)格比較(strict = false)
var_dump(in_array('0', $array)); // 輸出:bool(true)
var_dump(in_array(0, $array)); // 輸出:bool(true)
// 使用嚴(yán)格比較(strict = true)
var_dump(in_array('0', $array, true)); // 輸出:bool(false)
var_dump(in_array(0, $array, true)); // 輸出:bool(true)
在上面的示例中,當(dāng)使用非嚴(yán)格比較時(shí),字符串 '0'
和整數(shù) 0
都被認(rèn)為是數(shù)組中的元素。然而,在使用嚴(yán)格比較時(shí),只有整數(shù) 0
被認(rèn)為是數(shù)組中的元素。