おすすめ記事ピックアップ
突然ですがPHPの問題です。僕はこれで1時間ぐらい悩んでしまいました。
ソース1は、正しく動くコードです。ソース2は正しく動かないコードです。ちなみにエラーは「Parse error: parse error」と表示されます。ソース2は何処が間違っているのでしょうか。正解は下部に白文字で書いておきますので、反転してみてください。
正解は(下記反転すると答えです)
for文に、タブではなくスペースが入っているためです。
でした。
本当は異なる問題だったのですが、ある教材のコードをコピペして実行しても、まったく動きません。いくらコードを見直しても、問題がありません。まったくわからないので、ゼロから手打ちで入力したら、今度は正常に動きました。何が違うんだと悩みつつ、コード比較をしてみました。
こちらで紹介したコード比較サイトです。
http://www.furimuke.com/2013/04/bloggerhtmlmergely.html
そしたら、やっと原因がわかりました。
あとついでにfor分で使う、「$変数++」がどのタイミングで、数字を増やされるのか良く理解できませんでした。下記コードを事項したらわかりました。「$変数++」は一回実行してから、追加されるという当たり前のことですけども。
実行すると、次のように表示されます。
0A ←最初に表示される $i はゼロです。まだ $i++ されていません。
0B
1B
2B
1A ←一回くり返したあと、数字が追加されました。
0B
1B
2B
2A
0B
1B
2B
以上、どうでも良いPHP記事でした。
ソース1は、正しく動くコードです。ソース2は正しく動かないコードです。ちなみにエラーは「Parse error: parse error」と表示されます。ソース2は何処が間違っているのでしょうか。正解は下部に白文字で書いておきますので、反転してみてください。
ソース1 正しく動くコード
ソース2 正しく動かないコード
<?php header('Content-type: text/html; charset=UTF-8'); ?> <html> <body> <?php for($i=0; $i<3; $i++){ for($j=0; $j<4; $j++){ echo $i."<= =>".$j."<br>\n"; } echo "<br>\n"; } ?> </body> </html>
正解は(下記反転すると答えです)
for文に、タブではなくスペースが入っているためです。
でした。
本当は異なる問題だったのですが、ある教材のコードをコピペして実行しても、まったく動きません。いくらコードを見直しても、問題がありません。まったくわからないので、ゼロから手打ちで入力したら、今度は正常に動きました。何が違うんだと悩みつつ、コード比較をしてみました。
こちらで紹介したコード比較サイトです。
http://www.furimuke.com/2013/04/bloggerhtmlmergely.html
そしたら、やっと原因がわかりました。
あとついでにfor分で使う、「$変数++」がどのタイミングで、数字を増やされるのか良く理解できませんでした。下記コードを事項したらわかりました。「$変数++」は一回実行してから、追加されるという当たり前のことですけども。
<?php header('Content-type: text/html; charset=UTF-8'); ?> <html> <body> <?php for($i=0; $i<3; $i++){ echo $i."A<br>"; for($j=0; $j<3; $j++){ echo $j."B<br>"; } } ?> </body> </html>
実行すると、次のように表示されます。
0A ←最初に表示される $i はゼロです。まだ $i++ されていません。
0B
1B
2B
1A ←一回くり返したあと、数字が追加されました。
0B
1B
2B
2A
0B
1B
2B
以上、どうでも良いPHP記事でした。