1

編集可能なテーブルを使用しようとしていますが、保存関数に渡された配列値に二重引用符が含まれている場合を除いて機能しています。foreachループでエラー発生

foreach($saveArray as $rowId=>$row) {

二重引用符を含む可能性があるのは値 (キーではない) であり、実際のエラーは次のとおりです。

Warning: Invalid argument supplied for foreach()

これを回避する最善の方法、それらをエスケープする方法、" コードに変更する方法、ループの動作方法を変更する方法は何ですか?

編集:

申し訳ありませんが、問題は実際には json_decode 関数と二重引用符の値にあり、配列を返しません。

二重引用符以外のエントリに対しては正常に機能します

jsonは次のようになります

{"2":{"component":"8\"", ...

したがって、エスケープされますが、配列にデコードされません

4

1 に答える 1

2

$saveArrayを使用して、実際に何があるかを確認します

var_dump($saveArray)

あなた$saveArrayのようには見えませんが、それが何であれ、構造をサポートしていforeachます。

$saveArrayから来ている場合json_decode()、JSON 文字列が無効である可能性が高く、json_decode()単に を返しますNULL

于 2011-10-17T21:45:26.920 に答える