PHP 的 inarray()
函數本身并不靈活,因為它只能用于檢查一個值是否存在于數組中。然而,你可以通過使用其他方法來提高靈活性,例如使用 array_search()
函數或編寫自定義函數。
array_search()
函數允許你在數組中搜索一個值,并返回其鍵。如果值不存在于數組中,則返回 false
。這比 inarray()
更靈活,因為它返回的是值的鍵,而不僅僅是布爾值。
示例:
$array = array("apple", "banana", "orange");
$search_value = "banana";
if (array_search($search_value, $array)) {
echo "Value found in the array with key: " . array_search($search_value, $array);
} else {
echo "Value not found in the array.";
}
你還可以編寫自定義函數來實現更靈活的數組查找功能。例如,你可以傳遞一個額外的參數來指定搜索鍵或搜索值:
function custom_inarray($value, $array, $key = null) {
if ($key === null) {
return in_array($value, $array);
} else {
return array_search($value, array_column($array, $key));
}
}
$array = array(
array("id" => 1, "name" => "Alice"),
array("id" => 2, "name" => "Bob"),
array("id" => 3, "name" => "Charlie")
);
$search_value = "Bob";
$search_key = "name";
if (custom_inarray($search_value, $array, $search_key)) {
echo "Value found in the array with key: " . $search_key;
} else {
echo "Value not found in the array.";
}
這個自定義函數 custom_inarray()
提供了更多的靈活性,允許你指定要搜索的鍵或值。