检查PHP数组中是否存在元素

时间:2013-10-23 11:05:06

标签: php arrays

我有一个数组,如下所示:

array(1) { [0]=> array(1) { ["type"]=> string(4) "item" } } 

我在if语句中使用以下代码来查看数组中是否存在“item”但是它没有被评估为true

if (array_key_exists('item', $_SESSION['type'])) 

    {
       //do something
    }

我做错了什么?

3 个答案:

答案 0 :(得分:2)

它的数组在数组中。如果密钥存在,函数array_key_exists只检查一个深度级别。你的ked深2级,所以它不能返回true,因为只有键“0”。

“item”不是关键,而是价值;你必须使用函数in_arrayarray_search

而且你应该为它创建自己的函数,因为它的数组在数组中......

答案 1 :(得分:1)

array_key_exists检查数组的键,而不是值; "item"是一个值。

要检查是否存在值,请使用in_array(如果您在找不到项目时不关心密钥)或array_search(如果您想知道密钥是什么)该项目是)。例如:

if (in_array("item", $_SESSION['type'])) // do something

答案 2 :(得分:1)

您需要使用in_array来查找数组中是否存在元素。

array_key_exists检查数组的键是否存在