2

以下のコードは、printステートメントのみで機能します

 file_exists('index.php') || print "hi"; \\ works fine and prints hi



 file_exists('index.php') || echo "hi";  \\ error 

なぜ機能するのに解析エラーprintが発生するのですか?echo

4

4 に答える 4

4

これは、echoが言語構造でprintあり、組み込み関数であるためです。

使用も同じ理由echoよりもわずかに高速ですprintが、式内で使用するとパーサーエラーが発生します。

バグレポートも参照してください:https ://bugs.php.net/bug.php?id = 15866

于 2012-06-03T04:58:52.820 に答える
1

これは、printがブール値を返し、echoが何も返さないため、ブール式で使用できないためだと思います。

http://www.htmlite.com/php004.php

于 2012-06-03T04:45:18.160 に答える
0

エコーとプリントは似ているように見えますが、わずかに異なります

印刷-1エコー-なし

上記のステートメントで、ファイルが存在する場合、何も表示されません

存在しない場合、次のステップはOR Print、Printは常にブール値を返します

于 2012-06-03T04:52:33.403 に答える
0

printは1を返します。つまり、trueechoは何も返しません。trueを返すためにfile_existsと出力の両方を必要とするorステートメントがあるようです。

于 2012-06-03T04:46:11.887 に答える