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