PHP में एल्विस ऑपरेटर (?:) को वश में करना
रहस्यमय ?: ऑपरेटर ने कुछ PHP कोड को पकड़ लिया है, जिससे आप हैरान हो गए हैं। यह संक्षिप्त लेख इसकी रहस्यमय प्रकृति को उजागर करता है, इसके वास्तविक उद्देश्य को उजागर करता है। "एक टर्नरी ऑपरेटर के समान कार्य करता है। हालाँकि, इसकी अनूठी विशेषता यह मूल्यांकन करने के लिए अभिव्यक्ति की अनुपस्थिति में निहित है कि क्या विधेय सही साबित होता है। यहां इसके व्यवहार का विवरण दिया गया है:
यह बाएं ऑपरेंड का मूल्यांकन करता है यदि बायां ऑपरेंड सत्य है, यानी शून्य नहीं, खाली स्ट्रिंग, गलत या शून्य है।
यदि बायां ऑपरेंडझूठा
है, यहदाएं ऑपरेंड का मूल्यांकन करता है।महत्वपूर्ण रूप से, बाएं ऑपरेंड के लिए अभिव्यक्ति का मूल्यांकन केवल एक बार किया जाता है, जिससे दक्षता सुनिश्चित होती है। आइटम = $आइटम?: $यह->_हैंडल->परिणाम('अगला', $यह->_परिणाम, $this);
इस उदाहरण में, यदि $आइटम सत्य (गैर-शून्य या गैर-रिक्त) है, तो $आइटम का मान स्वयं को सौंपा गया है। हालाँकि, यदि $items ग़लत है, तो $this->_handle->result('next', $this->_result, $this) का परिणाम $items को सौंपा गया है। यह डिफ़ॉल्ट मान प्रदान करके अपरिभाषित मानों को प्रभावी ढंग से संभालता है। foo = foo ?: bar;यहां, यदि foo शून्य या गलत है, तो foo को बार का मान निर्दिष्ट किया जाएगा। अन्यथा, फू अपरिवर्तित रहता है। // 5
var_dump(झूठा?: 0); // 0
var_dump(null ?: 'foo'); // 'फू'
var_dump(सही?: 123); // सत्य
var_dump('रॉक' ?: 'रोल'); // 'चट्टान'
var_dump('' ?: 'रोल'); // 'रोल'
var_dump('0' ?: 'roll'); // '0'
var_dump('42' ?: 'रोल'); // '42'
इसका अनोखा उपनाम, "एल्विस ऑपरेटर," एल्विस प्रेस्ली के बालों से मिलता जुलता है। जिस प्रकार एल्विस के ताले को या तो झाड़ीदार पोम्पडौर में स्टाइल किया गया था या पीछे की ओर झुका हुआ था, ऑपरेटर का बायां ऑपरेंड या तो सत्य या मिथ्या है, जो परिणामी मूल्य का निर्धारण करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3