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()
提供了更多的灵活性,允许你指定要搜索的键或值。