Problemi i opsionalitetit të kllapave kaçurrel në kushtet në PHP
Edhe pse PHP lejon shkurtesat e treguara më lart me kllapa kaçurrel, unë në përgjithësi nuk rekomandoj të bëhet kështu, pasi kjo është një burim i gabimeve të vështira për t'u kapur.
Le të themi për shembull se ekziston kodi i mëposhtëm:
<?php
$test = 3;
if ($test > 0)
echo $test;
?>
Le të themi tani që ne vendosëm që në rast se
kushti plotësohet, të bëjmë edhe një
echo të dytë:
<?php
$test = 3;
if ($test > 0)
echo $test;
echo '+++';
?>
Megjithatë, pa kllapa kaçurrel brenda kushtit ndodhet vetëm dalja e parë, domethënë dalja e parë do të ekzekutohet kur kushti është i vërtetë, ndërsa e dyta - gjithmonë.
Në fakt, kodi ynë është ekuivalent me këtë:
<?php
$test = 3;
if ($test > 0) {
echo $test;
}
echo '+++'; // kjo rresht doli jashtë kushtit
?>
Ndërsa ne do të donim këtë kod:
<?php
$test = 3;
if ($test > 0) {
echo $test;
echo '+++'; // kjo rresht është brenda kushtit
}
?>
Pikërisht për këtë arsye rekomandohet që gjithmonë të vendosni kllapat kaçurrel, në mënyrë që të mos hidheni në gabime të tilla.
Pa e ekzekutuar kodin, përcaktoni, çfarë do të shfaqet në ekran:
<?php
$num = 5;
if ($num === 5)
echo $num;
echo '+++';
?>
Pa e ekzekutuar kodin, përcaktoni, çfarë do të shfaqet në ekran:
<?php
$num = 0;
if ($num === 5)
echo $num;
echo '+++';
?>
Pa e ekzekutuar kodin, përcaktoni, çfarë do të shfaqet në ekran:
<?php
$num = 0;
if ($num === 5)
echo $num;
echo '---';
echo '+++';
?>