php in_array的问题

时间:2013-09-28 11:46:03

标签: php arrays

嘿家伙们对in_array的问题没有回复。

我的代码如下:

if ( in_array( 'item_name', $this->conditions ) ) {
        print "test";
}

这只是一个测试代码。 $ this->条件在文件的其他位置设置,它看起来像这样:

Array
(
[0] => Array
    (
        [operator] => 
        [property] => item_name
        [logic] => contains
        [value] => the age
    )

)

它不打印“测试”; 我做错了什么?

var_dump在下面添加:

array (size=2)
0 => 
array (size=4)
  'operator' => string '' (length=0)
  'property' => string 'item_name' (length=9)
  'logic' => string 'contains' (length=8)
  'value' => string 'the age' (length=7)
1 => 
array (size=4)
  'operator' => string 'or' (length=2)
  'property' => string 'item_name' (length=9)
  'logic' => string 'ends' (length=4)
  'value' => string 'malouf' (length=6)

3 个答案:

答案 0 :(得分:4)

你有一个嵌套数组。试试这个:

foreach ($this->conditions as $arr) {

    if ( in_array( 'item_name', $arr ) ) {
       print "test";
    }
}

答案 1 :(得分:0)

请试试这个

foreach($this->conditions as  $condition){
 if(in_array( 'item_name',  $condition))
     echo 'test';
};

我希望这会对你有所帮助

答案 2 :(得分:0)

PHP DOC :

in_array — Checks if a value exists in an array

in_array()不会返回true,因为没有值"item_name"。你必须先提取内部数组。这样:in_array( 'item_name', $this->conditions[0])将返回true