क्या मैं देख रहा हूँ कि आप मिश्रण कर रहे हैं php में 'if' निर्माण के निर्माण के दो संभावित रूप।
if (condition) instruction;
if (condition) { more; than; one; instructions; }
दूसरा एक है:
प्रथम रूप में या तो है
if (condition): instruction; another; endif;
जब आप
<?php if (condition) ?>
... लिखने के बिना एक '{' या ' : 'समापन से पहले'?> टैग, वास्तव में आप निर्देशों को छोड़कर if आदेश को छोटा कर रहे हैं, और PHP इसे स्वीकार करते हैं। जब आप फिर से php टैग खोलेंगे, तो आप पहले से ही बाहर हैं।
वही लागू नहीं होता है यदि आप केवल एक ही ब्लॉक में निर्देश को "भूल जाते हैं", जहां 'endif;' एक निर्देश के रूप में अनुमति नहीं है;
तो:
<?php if (condition) ?>
anything outside the if
<?php instruction_outside_the_if; ?>
... व्यर्थ है (क्योंकि आप अगर एक विस्तृत लेकिन इसके बाद कुछ भी नहीं है), लेकिन एक सख्त त्रुटि नहीं है।
<?php if (condition 1): ?> <!-- note the ':' in this if -->
<?php if (condition 2) ?>
anything outside the second if but inside the first
<?php endif; ?> <!-- this closes the first if
... यहां आपके पास पहला काम है, लेकिन दूसरा अभी भी खाली है।
<?php if (condition 1): ?> <!-- note the ':' in this if -->
<?php if (condition 2) ?>
anything outside the second if but inside the first
<?php else: ?>
still outside the second if but inside the first, in the ELSE part
<?php endif; ?> <!-- this closes the first if
... यह आपके उदाहरण की तरह कम या कम है, जहां अन्य (या elseif) पहले से संबंधित है।
<?php if (true) ?>
<?php elseif(foo){ }; ?>
एक और अपवाद है कि, आप एक बंद टैग और खुलने वाला टैग, इसलिए पार्सर के बीच कुछ भी डाल नहीं कर रहे हैं के रूप में "का अनुकूलन" उन्हें बाहर (वास्तव में उस तरह नहीं है, लेकिन यह एक सही सन्निकटन है) । दो PHP टैग्स के बीच कुछ भी डालने का प्रयास करें, जैसे:
<?php if (true) ?>
anything
<?php elseif(foo){ }; ?>
...और "वाक्यविन्यास त्रुटि, अप्रत्याशित T_ELSEIF" दिखाई दें।
मैं विवाद करता हूं कि यह मान्य है। क्या आपने इसे सफलतापूर्वक चलाया है? सभी पर त्रुटियां? –
@ केरेक एसबी - हाँ, मैंने इसका परीक्षण किया। यह मान्य है, मुझे कोई सुराग क्यों नहीं है। –
@cwolves: मैंने भी किया, और मुझे 'पार्स त्रुटि मिली: वाक्यविन्यास त्रुटि, अप्रत्याशित T_ELSEIF' ... मुझे अपने नए उदाहरण का परीक्षण करने दें। इसके अलावा, क्या आप इसे वास्तविक कोड बना सकते हैं, कृपया स्यूडोकोड नहीं? –