1

我有一个这样的输出数组..

array
'B5' => string 'user1' (length=5)
'B4' => string 'user1' (length=5)

array
'D3' => string 'user1' (length=5)
'D2' => string 'user1' (length=5)
'D1' => string 'user1' (length=5)

array
'A4' => string 'user1' (length=5)
'A2' => string 'user1' (length=5)

array
 'E3' => string 'user1' (length=5)
 'E2' => string 'user1' (length=5)
 'E1' => string 'user1' (length=5)

我想检查这些数组中是否存在诸如“E1”之类的特定项目。我该怎么办?

4

2 回答 2

1

使用array_key_exists()函数。

例子:

$answer = array_key_exists('E1', $array_name);

或者,更简单:

$answer = isset($array_name['E1']);

旁注:关于isset() 与 array_key_exists()的使用的讨论。如果您关心性能,值得一读。

于 2013-02-25T10:00:35.157 回答
0

这将array_key_exists递归检查多维度数组

function array_key_exists_r($needle, $haystack)
{
    $result = array_key_exists($needle, $haystack);
    if ($result) return $result;
    foreach ($haystack as $v) {
        if (is_array($v)) {
            $result = array_key_exists_r($needle, $v);
        }
        if ($result) return $result;
    }
    return $result;
}

参考:http ://www.php.net/manual/en/function.array-key-exists.php#82890

于 2013-02-25T10:03:27.767 回答