在 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
被認為是數組中的元素。