मैं एक वर्डप्रेस पाठ्यपुस्तक जहां मैं निम्नलिखित समारोह के लिए एक त्वरित वर्णन पाया में पढ़ रहा था:जब PHP पूर्णांक के लिए पूछता है तो PHP फ़ंक्शंस बूलियन तर्क स्वीकार क्यों कर सकता है?
function is_super_admin($user_id = false) {...
इस समारोह निर्धारित करता है कि उपयोगकर्ता एक साइट व्यवस्थापक है।
हालांकि, मेरा प्रश्न यह है कि PHP पैरामीटर के साथ कैसे व्यवहार करता है।
उपरोक्त फ़ंक्शन को एक पूर्णांक पैरामीटर प्राप्त होता है, और यदि आप इसे कुछ भी पास नहीं करते हैं तो यह FALSE
का डिफ़ॉल्ट मान असाइन करेगा।
FALSE
एक BOOLEAN
डेटा प्रकार है, और इस समारोह एक INTEGER
डेटा प्रकार को स्वीकार करना चाहिए:
यहाँ मेरी सवाल है।
तो हमें बुलियन मूल्य प्रदान करने की अनुमति कैसे दी जा सकती है, जब हमें एक पूर्णांक मूल्य प्रदान करना चाहिए?
आप कहीं भी घोषित नहीं कर रहे हैं कि पैरामीटर एक 'int' है, क्यों * यह * काम नहीं करना चाहिए? – deceze
PHP गतिशील रूप से टाइप किया गया है। आप विभिन्न प्रकार के तर्कों को पारित कर सकते हैं, जब तक कि विशेष रूप से टाइप-इशारा नहीं किया जाता है। इस विशेष मामले में, आप मूल रूप से कुछ भी पारित कर सकते हैं। – Mjh
PHP में [टाइप juggling] (http://php.net/manual/en/language.types.type-juggling.php) के बारे में और पढ़ें। – axiac