Проблемата со незадолжителноста на големите загради во условијата во PHP
Иако PHP дозволува прикажаните погоре кратенки со големи загради, јас воопшто не препорачувам да се прави така, бидејќи тоа е рассадник на тешко уловливи грешки.
Нека на пример постои следниот код:
<?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 '+++';
?>