我正在尝试使用in_array()
来检查数组中的某个键,然后回显它的值。
$array = array("abc" => "123",
"def" => "456",
"ghi" => "789");
if(in_array("abc", $array))
echo $allowed["abc"];
它应该回显123,但我得到:
in_array() expects parameter 2 to be array, null given
您可以将关联数组与in_array()
?
我也试过了array_key_exists()
,但它也出现了同样的错误?
愚蠢的错误是愚蠢的
$array
应该是$this->array
...漫长的一天,可能会删除我吗?
答案 0 :(得分:1)
您应该使用array_key_exists代替。
答案 1 :(得分:1)
尝试
if (isset($array["abc"]))
答案 2 :(得分:0)
in_array检查数组中是否存在该值。要检查密钥是否存在,您应该使用isset。
答案 3 :(得分:0)
试试这个
$array = array("abc" => "123",
"def" => "456",
"ghi" => "789");
if (isset($array["abc"]))
echo $array["abc"];
答案 4 :(得分:0)
您正在引用$ allowed并尝试回显$ allowed('abc')的值,该值不存在。
用$ array替换为$ allowed:
$array = array("abc" => "123",
"def" => "456",
"ghi" => "789");
if(array_key_exists("abc", $array))
{
echo 'Found! '. $array["abc"]; // Update this line to $array
}
或者,您可以执行array_flip(),然后可以使用in_array:
if( in_array("abc", array_flip($array) ))
{
echo 'Found! '. $array["abc"];
}