Праблема неабавязковасці фігурных дужак ва ўмовах у 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 '+++';
?>