(PHP 4, PHP 5, PHP 7, PHP 8)
PHP bazı denetim yapıları için farklı bir sözdizimi sağlar. Bu yapılar
if, while, for,
foreach ve switch yapılarıdır.
Her durumda, bu farklı sözdiziminin basit şekli açılışta kullanılan
kaşlı ayracın yerine iki nokta imi (:) ve kapanışta kullanılan kaşlı
ayraç yerine de sırasıyla endif;,
endwhile;, endfor;,
endforeach; ya da endswitch;
deyimlerinden birini kullanmaktır.
<?php if ($a == 5): ?>
A eşittir 5
<?php endif; ?>
Yukarıdaki örnekte, içeriği "A eşittir 5" olan HTML bloğu iki noktalı
sözdimi kullanılarak yazılmış bir if deyiminin içine
gömülmüştür. HTML bloğu yalnızca $a değişkeni 5'e
eşit olduğunda gösterilecektir.
İki noktalı sözdimi, else ve elseif
için de kullanılabilir. Birazdan vereceğimiz örnek, iki noktalı
sözdizimi ile yazılmış elseif ve
else içeren bir if yapısıdır:
<?php
if ($a == 5):
echo "a eşittir 5";
echo "...";
elseif ($a == 6):
echo "a eşittir 6";
echo "!!!";
else:
echo "a ne 5 ne de 6'dır";
endif;
?>Bilginize:
Aynı denetim kümesi içinde karışık sözdizimi desteklenmemektedir.
switch deyimi ile ilk case deyimi
arasındaki herhangi bir çıktı (boşluklar dahil) sözdizimi hatasına
yol açar. Örneğin, aşağıdaki kod geçersizdir:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch; ?>
Fakat bu örnek geçerlidir.
switch deyiminden sonraki satırsonu karakteri
?> kapama etiketinin parçası olarak ele
alınıp switch ile case
arasında hiçbir şey çıktılanmaz:
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch; ?>Daha fazla örnek için while, for ve if cümleciklerine bakabilirsiniz.