2

私のコードでは、ループで次の行を使用して配列を埋めます:

 $_SESSION['my_array'][] = $some_value;

この行を実行するたびに、function in_array(). ただし、最初の反復では次のように述べています。

« in_array() expects parameter 2 to be array ».

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

3

次のように、(値を入力する前に) 配列を初期化できます。

$_SESSION['my_array']=array();

このようにして、空であっても配列であることを確認できます。

于 2013-04-22T11:04:20.687 に答える
0

間違って割り当てまたはアクセスしています

これを使って

$_SESSION['my_array'] = $some_value;
于 2013-04-22T11:06:09.653 に答える
0

チェックを行っているときにin_array、2 番目の項目を配列にキャストできるため、空の場合は空の配列が渡されます。このようにして、必要のないときにセッションに何も設定しないでください (後でつまずく可能性があります)。

例えば、

if (in_array('foo', (array)$_SESSION['my_array'])) {
  // do something
}
于 2013-04-22T11:10:31.147 に答える