ホームページ > バックエンド開発 > PHPチュートリアル > print は関数ではありません

print は関数ではありません

藏色散人
リリース: 2023-04-06 20:14:01
転載
2530 人が閲覧しました

print は関数ではありません

これは一見奇妙な質問から来ています:

if (print("1\n") && print("2\n") && print("3\n") && print("4\n")) {
    ;
}
ログイン後にコピー

このコードは何を出力すると思いますか?

実際の出力は次のとおりです。

4
111
ログイン後にコピー

私たちは、print が文法構造 (言語構造) であり、関数ではなく、パラメーターのリストに括弧が必要ないことを多くの場合無視します (括弧を書いた場合でも、括弧は同様に使用します)構文解析段階では無視されます)、これは常に 1 を返す単なる「式 (expr)」です:

expr :
   T_PRINT expr
 | '(' expr ')'
;
所以其实上面的代码在php看来是:
if (print ("1\n" && print ("2\n" && print ("3\n" && print "4\n")))) {
  ;
}
ログイン後にコピー

したがって、4 を出力し、次に「3」を出力します。&& print の結果は次のようになります。 1、次に "2\n" && 1 が出力され、最後に "1\n" && 1

そして、上記のコードの意図を達成したい場合は、次のように記述する必要があります。

うわー

以上がprint は関数ではありませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート