PHP में if स्थितियों में वैकल्पिक कर्ली ब्रेसिज़ की समस्या
इस तथ्य के बावजूद कि 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 '+++';
?>