0

AFAIK -またはin_array()を返す必要があります。TRUEFALSE

私の場合、それは真として検証されますが、それでもエラーがスローされます:

[function.in-array]: 2 番目の引数のデータ型が正しくありません

行はこれです:

in_array($key,$instance['cfl2']);

そして、これは次のような$instance['cfl2']検証済みarrayです:

array(2) { [0]=> string(8) "price" [1]=> string(6) "age" }

私の質問は次のとおりです。

  • 私は何を間違っていますか。
  • エラーがスローされる理由 (ただし、正常に動作し、true を返す)
  • ある種のネストされた配列を使用しているため、問題が発生していますか? (つまり、配列アイテム$instance['cfl2']は実際にはそれ自体が配列ですか?

私も試し$is = $instance['cfl2']てみin_array($key,$is)ましたが、結果は同じエラーでした。

4

2 に答える 2

2

このエラーを回避するために、変数を配列にキャストできます。

in_array($key, (array) $instance['cfl2'])

于 2013-02-21T11:53:25.973 に答える
0

in_array()として扱いますin_array("search", $instance)

ネストされた配列または多次元配列を使用している場合はin_array()機能しないため、これを処理する別の関数を作成する必要があります。またはarray_key_exists()代わりに使用します。特定の特定の状況で機能します。要件が満たされているかどうかを調べます。

すなわち

if(array_key_exists($key,$instance['cfl2']))
于 2013-01-22T12:45:18.827 に答える