array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'control-structures.alternative-syntax.php', 1 => 'Denetim yapıları için diğer sözdizimi', ), 'up' => array ( 0 => 'language.control-structures.php', 1 => 'Denetim Yapıları', ), 'prev' => array ( 0 => 'control-structures.elseif.php', 1 => 'elseif/else if', ), 'next' => array ( 0 => 'control-structures.while.php', 1 => 'while', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'language/control-structures/alternative-syntax.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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.