0

in_array が true を返さないという問題が発生しました。

私のコードは次のとおりです。

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

これは単なるテストコードです。$this->conditions はファイル内の別の場所に設定されており、次のようになります。

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)
4

3 に答える 3

4

ネストされた配列があります。これを試して :

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

    if ( in_array( 'item_name', $arr ) ) {
       print "test";
    }
}
于 2013-09-28T11:48:17.477 に答える