Проблем опционалности витичастих заграда у условима у ПХП-у
Иако ПХП дозвољава приказана горе скраћења са витичастим заградама, ја их у принципу не препоручујем, јер су оне расадник тешко уочљивих грешака.
Рецимо да на пример постоји следећи код:
<?php
$test = 3;
if ($test > 0)
echo $test;
?>
Рецимо сада да смо одлучили да у случају када
услов буде испуњен, урадимо још и други
echo:
<?php
$test = 3;
if ($test > 0)
echo $test;
echo '+++';
?>
Међутим, без витичастих заграда унутар услова се налази само први испис, односно први испис ће се одиграти када је услов тачан, а други - увек.
Заправо наш код је еквивалентан оваквом:
<?php
$test = 3;
if ($test > 0) {
echo $test;
}
echo '+++'; // овај ред се нашао изван услова
?>
А ми бисмо желели овакав код:
<?php
$test = 3;
if ($test > 0) {
echo $test;
echo '+++'; // овај ред је унутар услова
}
?>
Управо зато се препоручује увек вршити постављање витичастих заграда, да не бисмо упадали у овакве грешке.
Без покретања кода, одредите шта ће се исписати на екран:
<?php
$num = 5;
if ($num === 5)
echo $num;
echo '+++';
?>
Без покретања кода, одредите шта ће се исписати на екран:
<?php
$num = 0;
if ($num === 5)
echo $num;
echo '+++';
?>
Без покретања кода, одредите шта ће се исписати на екран:
<?php
$num = 0;
if ($num === 5)
echo $num;
echo '---';
echo '+++';
?>