PHP shartlarida qavslar ixtyoriyligi muammosi
PHP figurali qavslarni qisqartirishga ruxsat bersa ham, buni qo‘llash tavsiya etilmaydi, chunki bu qiyin topiladigan xatolarga sabab bo‘lishi mumkin..
Masalan, quyidagi kod berilgan bo‘lsin:
<?php
$test = 3;
if ($test > 0)
echo $test;
?>
Agar shart bajarilganda yana ikkinchi echo ni qo‘shishga qaror qilsak:
<?php
$test = 3;
if ($test > 0)
echo $test;
echo '+++';
?>
Biroq, figurali qavslarsiz shart ichida faqat birinchi echo bo‘ladi.
Shuning uchun birinchi echo faqat shart to‘g‘ri bo‘lganda, ikkinchisi esa har doim bajariladi.
Aslida, bizning kodimiz quyidagiga teng bo‘ladi:
<?php
$test = 3;
if ($test > 0) {
echo $test;
}
echo '+++'; // bu qator shartdan tashqariga chiqib ketgan
?>
Lekin biz quyidagidek kod bo‘lishini xohlagan edik:
<?php
$test = 3;
if ($test > 0) {
echo $test;
echo '+++'; // bu qator shart ichida
}
?>
Shu sababli, bunday xatolarga yo‘l qo‘ymaslik uchun har doim figurali qavslarni qo‘yish tavsiya etiladi.