是否可以使用键或值
搜索数组中的字符串像字符串
apple
一样搜索 -
array(
"a"=>"banana",
"apple"=>"fruit",
'b'=>"apple"
)
当apple
与数组键或值匹配时,则返回true
,否则false
答案 0 :(得分:3)
当“apple”在上方数组中与或值匹配时,则返回 true ,否则 false
简短的“单线”:
$has_apple = key_exists('apple', $arr) || in_array('apple', $arr);
答案 1 :(得分:1)
<?php
$data = array("a"=>"banana","apple"=>"fruit",'b'=>"apple");
function key_or_value_exists($needle, $haystack) {
return array_key_exists($needle, $haystack) || in_array($needle, $haystack);
}
var_dump(key_or_value_exists('apple', $data));
var_dump(key_or_value_exists('banana', $data));
var_dump(key_or_value_exists('papaya', $data));
输出:
boolean true
boolean true
boolean false
答案 2 :(得分:0)
您可以使用array_search()
功能执行 -
示例:按值
搜索{Index Array}
$array = array(
'blue',
'red',
'green',
'red'
);
$key = array_search('green', $array); #$key = 2;
$key = array_search('red', $array); #$key = 1;
示例:按值
搜索{Associative Array}
$array = array(
'A'=>'blue',
'B'=>'red',
'C'=>'green',
'D'=>'red'
);
$key = array_search('green', $array); #$key = 'C';
$key = array_search('red', $array); #$key = 'D';
$key = array_search('NO', $array); #$key = false;
答案 3 :(得分:0)
Isset()可以做到。
$arr =array("a" => "banana","apple" => "fruit",'b' => "apple");
If(isset($arr["apple"]) || array_search("apple", $arr)){
Echo "true";
}Else{
Echo "false";
}
编辑注意到你也需要价值 为此你可以使用array_search(needle,haystack)
如果是您正在寻找的bool值,您也可以这样做:
$bool = (bool)isset($arr["apple"]) || array_search("apple", $arr);
答案 4 :(得分:0)
查找字符串是否为数组中的键或值就像调用array_key_exists()
和in_array()
一样简单。如果其中一个返回true
,那么该字符串将在数组中使用:
function findInArray(array $array, $item)
{
return array_key_exists($item, $array) || in_array($item, $array);
}
// Test
$input = array(
'a' => 'banana',
'apple' => 'fruit',
'b' => 'apple',
'pear' => 'fruit',
);
// 'banana' is a value in the array
printf("banana: %s\n", findInArray($input, 'banana') ? 'Yes' : 'No');
// 'apple' is both a key and a value in the array
printf("apple: %s\n", findInArray($input, 'apple') ? 'Yes' : 'No');
// 'pear' is a key in the array
printf("pear: %s\n", findInArray($input, 'pear') ? 'Yes' : 'No');
// 'mango' is not present in the array, either as key or value
printf("mango: %s\n", findInArray($input, 'mango') ? 'Yes' : 'No');
输出(如预期)是:
banana: Yes
apple: Yes
pear: Yes
mango: No