- ベストアンサー
エラーの原因について
エラーの原因について 以下のエラーが表示されますがPHP自体は動作するようです。 PHPプログラムの画面の下に表示されます。 Warning: Invalid argument supplied for foreach() in /home/アカウント/public_html/clz/acc.php on line 1535 Warning: Invalid argument supplied for foreach() in /home/アカウント/public_html/clz/acc.php on line 1557 回避策をご存知の方は、ご指導よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
海外のサイトに「最近インストールしたプラグインを無効に」とあるのですが・・・
その他の回答 (3)
- honoka-cha
- ベストアンサー率54% (40/73)
1535行目 foreach ( $noview as $value ) { $noview[rtrim($value)] = "on"; } を次のようにif文で囲むようにしてみてはどうでしょうか if (is_array($noview)) { foreach ( $noview as $value ) { $noview[rtrim($value)] = "on"; } } 同様に、1557行目については{に対応する閉じる}を探し、 foreach ( $move as $value ) { なんちゃらかんちゃら } を次のようにif文で囲んでみてはどうでしょうか if (is_array($move)) { foreach ( $move as $value ) { なんちゃらかんちゃら } } それから引数とは、上記でいえば、is_array($noview)の中の$noviewのことです。 別な言い方をすれば、is_array()という関数の引数は()の中に書くものであり、引数の名前が$noviewならそれを()の中に書くわけです。 配列は、もとをただせば数学用語で、要するに複数の値のかたまりをあらわすものです。 例えば、1,3,5,7,9 を$gusuという配列であらわすようなものです。 この例で言えば、$gusu[0]には1, $gusu[1]には3, $gusu[2]には5が入っているとかね。 他の例では、$kunitosi['japan']には'tokyo',$kunitosi['pekin']には'china'とかね。 1535行目foreach ( $noview as $value ) でいえば、 $noviewが配列でなければならないので、本来なら$noviewには複数の値が含有されているはずです。 のはずなのに、中身が配列としてキチンと入っていないからWarningが出ているのでしょう。
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 エラー内容から察するに・・・、 acc.phpの1535行目と1557行目にforeachがあると思うのですが、 この引数が配列じゃないよと言ってるみたいです。 配列のつもりでも、初期化されないまま渡されたとか・・・。
補足
「acc.php」のスクリプトを確認したところ以下のように記述されていました。 1535行目 foreach ( $noview as $value ) { $noview[rtrim($value)] = "on"; } 1557行目 foreach ( $move as $value ) { しかし、何分PHPに関する知識が乏しいため引数や配列など何を意味するのか理解できません。 また初期化に関しても何を意味するのか 再度、ご指導の方お願いします。
- edomin7777
- ベストアンサー率40% (711/1750)
ソースが示されていないので、回避策といっても決定打は出ませんよ? まずは、「acc.php」の1535行目と1557行目をよく見ましょう。
補足
ありがとうございます。 「acc.php」のスクリプトを確認したところ以下のように記述されていました。 1535行目 foreach ( $noview as $value ) { $noview[rtrim($value)] = "on"; } 1557行目 foreach ( $move as $value ) { しかし、何分PHPに関する知識が乏しいため何を意味するのか理解できません。 再度、ご指導の方お願いします。
補足
自己解決させました。