मैं हाल ही में अपने कुछ कोड की समीक्षा कर रहा था और ध्यान दिया कि अनुपस्थित मन की स्थिति में, मैंने निम्नलिखित की तरह एक संरचना छोड़ दी:
$guid = empty($subscription->guid) ? : $subscription->guid;
अब, यह वह नहीं कर रहा था जो इसे माना जाता है और गलत है , लेकिन चूंकि यह संपत्ति हमेशा सेट है अब यह ठीक काम कर रहा था, और निम्न परिवर्तन के कारण 5.3 के बाद कोई सिंटैक्स त्रुटि नहीं है :
PHP 5.3 के बाद से, टर्नरी ऑपरेटर के मध्य भाग को छोड़ना संभव है। Expr1 ?: expr3 रिटर्न expr1 अगर expr1 TRUE का मूल्यांकन करता है, और expr3 अन्यथा।
मुझे इस परिवर्तन के बारे में पता नहीं था, और अब मैं उत्सुक हूं कि मुझे इसका उपयोग करना चाहिए या नहीं। यह एक ऐसी चीज है जिसे मैं रूबी जैसी भाषाओं से गायब कर रहा था जहाँ आप 'असली' बूलियन के बजाय या a = b || c
तो प्राप्त कर सकते हैं । हालाँकि, टर्नरी ऑपरेटर के लिए उन्होंने जो वाक्य-विन्यास चुना है, वह मेरे लिए थोड़ा सहज है। क्या मुझे उत्पादन कोड में इसका उपयोग करना चाहिए? यह निश्चित रूप से खुद को फेंक दिया जब मैंने इसे दुर्घटना से देखा।b
c