include
के रूप में एक विशेष भाषा निर्माण और नहीं एक समारोह है, यह paremeter सूची के लिए paranthesis की जरूरत नहीं है है कुछ भी बदलने:
1 ≡ (1) ≡ ((1)) ≡ (((1))) ≡ …
तो अपने बयान (paremter सिर्फ लपेटा जाता है) इस के समान है:
require_once (('abc.php') or die("oops"));
इसलिए हमारे पास बूलियन अभिव्यक्ति पैरामीटर है जो सच या झूठी है। और वह मान "1"
और ""
की स्ट्रिंग बराबर क्रमशः इस प्रकार होगा:
var_dump((string) true === "1");
var_dump((string) false === "");
कारण है कि इस विफल खोलने के लिए आवश्यक हो '1' त्रुटि संदेश नहीं है यही कारण है कि।
लेकिन सही जगह पर कोष्ठक का उपयोग कर की तरह इस यह काम की तरह आप यह चाहते बनाता है:
(@include_once 'abc.php') or die("oops");
यहाँ 'abc.php'
स्पष्ट रूप से पैरामीटर है और die("oops")
साथ अलगाव include_once
की वापसी मूल्य पर किया जाता है। @
operator त्रुटि संदेश को अनदेखा करने के लिए है includ_once
फेंक देगा अगर फ़ाइल मौजूद नहीं है।
पीएस: print
भी एक विशेष भाषा निर्माण है और उसी तरह काम करता है।
शानदार जवाब। इसे जोर दिया जाना चाहिए कि requ_once एक समारोह नहीं है। यह एक यूनरी ऑपरेटर (या भाषा निर्माण, यदि आप चाहें) है, तो इको, नया, शामिल इत्यादि है। –
धन्यवाद! थोड़े बेकार हालांकि यद्यपि 'मरने() 'को एक स्वीकार्य तरीके से जोड़कर, यह एक त्रुटि फेंकता है जो फ़ाइल को खोजने में विफलता की तरह दिखता है और/या इसकी आवश्यकता होती है - या- फ़ाइल में एक त्रुटि ... वास्तव में यह 'आवश्यकता() या मरने पर खराब कोड है() ' – aequalsb