Rumah > Artikel > pembangunan bahagian belakang > if () { } vs. if () : endif;: Bila Menggunakan Pernyataan Bersyarat Yang Mana?
Apabila pengekodan, pembangun mungkin menghadapi dua pernyataan bersyarat yang kelihatan serupa:
if ($value) { }
dan
if ($value): endif;
Sementara kedua-dua penyata mempunyai tujuan yang sama untuk melaksanakan blok kod apabila keadaan adalah benar, terdapat perbezaan yang ketara untuk dipertimbangkan.
Pernyataan pertama, jika ($value) { }, mengikut sintaks pendakap kerinting tradisional yang terdapat dalam banyak bahasa pengaturcaraan. Ia menilai syarat $value dan melaksanakan kod dalam pendakap jika syarat itu benar.
Sebaliknya, pernyataan kedua, if ($value): endif;, ialah sintaks bersyarat singkatan yang sering digunakan dalam PHP templat dan enjin templat seperti Twig atau Smarty. Secara lalai, templat ini menggemakan sebarang output terus ke penyemak imbas. Walau bagaimanapun, menggunakan if () : endif; menyediakan cara untuk mengeluarkan kod secara bersyarat tanpa menggemakannya secara eksplisit.
Sebagai contoh, pertimbangkan kod PHP berikut:
<?php if($this->value): ?> Hello <?php elseif($this->asd): ?> Your name is: <?= $this->name ?> <?php else: ?> You don't have a name. <?php endif; ?>
Dalam contoh ini, penyataan bersyarat mengawal keterlihatan bahagian yang berbeza bagi templat. Teks Hello dipaparkan jika $this->value adalah benar, nama dipaparkan jika $this->asd adalah benar dan mesej terakhir dipaparkan sebaliknya. Sintaks if () : memastikan bahawa output hanya dijana apabila keadaan adalah benar, menghalang gema yang tidak perlu.
Ringkasnya, kedua-dua if () { } dan if () : endif; pernyataan menyediakan cara untuk melaksanakan kod secara bersyarat. Walaupun yang pertama menggunakan pendakap kerinting tradisional, yang kedua amat berguna dalam templat senario di mana output langsung tidak diingini. Pilihan bergantung pada konteks pengaturcaraan khusus dan hasil yang diinginkan.
Atas ialah kandungan terperinci if () { } vs. if () : endif;: Bila Menggunakan Pernyataan Bersyarat Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!