ホームページ  >  記事  >  バックエンド開発  >  質問: なぜ print in for($i=1;$i<=10;print $i++); を echo に置き換えることができないのでしょうか?

質問: なぜ print in for($i=1;$i<=10;print $i++); を echo に置き換えることができないのでしょうか?

WBOY
WBOYオリジナル
2016-06-23 09:15:091654ブラウズ

質問: なぜ print in for($i=1;$iこのように規定されており、理由はありません

どのような要件を印刷する必要がありますか?

なんとも奇妙な書き方です

for($i=1;$i<=10;echo $i++); 解析エラー: 構文エラー、予期しない 'echo' (T_ECHO)、 ')' が期待されています。 .. .. このように規定されているので、理由はありません

printとechoの戻り値の問題なのかなと思い始めましたが、わかりませんでした。分かりました、アドバイスをお願いします!


どのような要件を印刷する必要がありますか?

この問題は実際のプロジェクトではなく、マニュアルを読んで発見しました...

なんとも奇妙な書き方ですね

本当に不思議ですね、普段はこんな風に書かないんです



for( $i=1;$ i<=10;echo $i++);
解析エラー: 構文エラー、予期しない 'echo' (T_ECHO)、.... で ')' が期待されています これがどのように規定されているか、理由はありません

print と echo の戻り値なのかと思い始めたのですが、理解できません。アドバイスをお願いします。


はい、戻り値の問題です。echo には戻り値がないので、このように書くことはできません

構文が間違っているので、次のように変更してください

for($i=1;$i<=10;$i++){    echo $i;}


構文が間違っています、このように変更してください

for($i=1;$i<=10;$i++){    echo $i;}

このように書けるのはわかっていますが、行を書くときに print を echo に置き換えるとエラーが発生する理由を理解したいだけです

for ($i = 1; $i
上記の書き方は本当に変です


構文が間違っているので、次のように変更してください

for($i=1;$i<=10;$i++){    echo $i;}

このように書くことができることは知っていますが、理解したいだけです行を書くときに echo が print を置き換えるとエラーが発生するのはなぜですか


モデレータはすでにあなたに答えています。成功すると print は常に 1 を返し、echo には戻り値がないため、元のステートメントは for($i と同等です) =1;$i<=10;1){$i++;} と for($i=1;$i<=10;){$i++;} 、明らかに echo は間違いを犯します
7 階 +1 に同意します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。