如何测试值是否在数组PHP中(关键字搜索)


How to test if value is in array PHP (key search)

这是我在PHP中的数组:

$arr['key1']='value1';
$arr['key2']='value2';
$arr['key3']='value3';
$arr['key4']='value4';
$arr['key5']='value5';
$arr['key6']='value6';

我想测试一个键是否在数组中。这个功能是正确的操作方式吗?

function isKeyInArray($key, $arr) {
   if(isset($arr[$key]))
      return true;
   else
      return false;
}

我所期望的是:

isKeyInArray('key3', $arr) // return true
isKeyInArray('key9', $arr) // return false

非常感谢。

您可以使用array_key_exists

$a=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Volvo",$a))
  {
  echo "Key exists!";
  }
else
  {
  echo "Key does not exist!";
  }

请参阅http://php.net/manual/en/function.array-key-exists.php

使用array_key_exists

if(array_key_exists('key6',$arr))
   echo "present";
else
   echo "not present";

如果您认为null不是一个合适的值,那么使用isset()是很好的。并且CCD_ 4比CCD_。

$a = [ 'one' => 1, 'two' => null ];
isset($a['one']); // true
isset($a['two']); // false
array_key_exists('two', $a); // true

使用php函数array_key_exists('key3', $a);

首先谷歌你的需要,只有在那之后你才能使用自己的功能。这将节省你很多时间。