1

異なる構文で同じ結果が得られるのはなぜですか?

例えば

# Example 1
if($myCondition == true) :
    #my code here
endif;

if($myCondition == true) {
    #my code here
}

# Example 2
foreach($films as $film) : 
    #my code here
endforeach;

foreach($films as $film) { 
    #my code here
}

また、私は何年も前から使用<?=してきましたが、それが非推奨であることを理解したので、使用する必要があり<?php echoます。これは事実であり、その理由は何ですか? 毎回それを書き出すのはもっと面倒です。

あなたの考えは何ですか?

4

2 に答える 2

1

コロンendif、endforeachなどの構文は、代替構文と呼ばれます。この機能が存在する理由は定かではありませんが、サポートされているだけです。HTMLマークアップの途中で中括弧を閉じるよりも、endif / endforeachを簡単に選択できる、テンプレートの目的で使用される代替構文に気付いたと言えます。

これ<?=は、短いオープンタグとして知られています。おそらく、その使用について必要なすべての情報をここで見つけることができます。PHPの短いタグは使用できますか?

于 2010-06-11T11:25:31.643 に答える
1

なぜ結果が異なる必要があるのですか?角かっこがないものは、制御構造の代替構文と呼ばれ、HTMLを処理する場合などに非常に役立ちます。

<?php echoPHP 5.3以降、短いオープンタグを無効にでき、デフォルトで無効にできるため、移植性が大幅に向上します。

于 2010-06-11T11:25:51.517 に答える