Bu iki foreach döngüleri arasındaki fark nedir?

6 Cevap php

Ben foreach döngü böyle kullanıldığını CakePHP'de gördük


foreach($tags as $tag) :
       \\code here
endforeach;

ve ben foreach bu tarz yazmak için kullanılan


foreach($tags as $tag)
{
     //code here
}

Bu iki foeach döngüler ve bir daha iyidir ve uygulamak daha mantıklı arasındaki fark nedir?

Teşekkürler

6 Cevap

Bunlar eşdeğerdir, ancak PHP, HTML gömülü olduğu zaman second İlk bazen daha okunabilir.

Bunlar aynıdır. Sözdizimi daha diğer PHP yapıları gibi, C, C + +, Java, vb beri olsa küme parantezi ile olanları kullanmak istiyorum.

İlki (PHP 4 önce) erken PHP sözdizimi Tarihleri ​​ve ikinci bir genel artık kabul budur. Ben ilk birini kullanarak önlemek istiyorum ve her zaman bile böyle bir şey için, kıvırcık parantez kullanmak istiyorsunuz IMHO

<?php foreach ($foo as $f) { ?>
<div><?= $f ?></div>
<?php } ?>

Birçok editörler ayracı vurgulayarak ve o sadece böyle daha iyi çünkü :)

They are equivalent, but the first one sometimes is more readable when your PHP is embedded in HTML.
:)~

Bu eşitliği itibariyle, hiçbir yöntem "iyi" denebilecek, ve anlaşmanın sadece konu olabilir.

Onlar bir sen parantez nerede olduğunu hatırlamak gerekiyor ve diğer kanunlarda veya HTML büyük bir bölümünü eklerken açık nedir bilmiyorum, parantez gidelim sağlar çünkü böylece ilk kullanılmak üzere büyük olasılıkla tamamen aynıdır tasarım.

Sadece IF deyimi için bir alternatif gibi:

<?php
if ($foo):
   echo "is ok\n";
elseif ($bar):
   echo "not ok\n";
else:
   echo "dont't know\n";
endif;
?>

Bu aşağı kişisel veya takım kodlama standartları geliyor. Daha evrensel okunabilir kod yapar gibi {} seçeneği tercih. Doğru, ama yine o kolay bir kodlama standardı ile, HTML dağınık alır.

Seçeneği döngü sayfanın alt kapalı çalışan, özellikle kodu aşağı alt ciddi bir kafa karışıklığı yaratabilir: Eğer kullanarak, döngü içinde HTML ve PHP bir sürü varsa. {} Ile vurgulayarak sözdizimi çok daha kolay döngü içeriğini tespit izin verir.