इस पाठ में, हम लंबे अन्यथा कोड को छोटा और अधिक पठनीय बनाने के लिए उपयोग की जाने वाली निम्नलिखित विधियों पर चर्चा करेंगे। PHP टर्नरी ऑपरेटरआप उदाहरणों के साथ सीखेंगे कि यह क्या है और इसका उपयोग कैसे करें।

PHP टर्नरी ऑपरेटर एक सशर्त ऑपरेटर है जो तुलना और शर्तें निष्पादित करते समय कोड की लंबाई कम कर देता है। यह ऑपरेटर if-elseif-else या नेस्टेड if else का उपयोग करने का एक महत्वपूर्ण विकल्प है। इसे टर्नरी ऑपरेटर कहा जाता है क्योंकि इसमें तीन ऑपरेंड लगते हैं।

  • PHP टर्नरी ऑपरेटरइसके लिए आवश्यक ऑपरेंड इस प्रकार हैं:
    शर्त
  • सत्य के लिए परिणाम (यदि स्थिति सत्य है तो सत्य लौटाता है)
  • असत्य का परिणाम

PHP टर्नरी ऑपरेटर वाक्यविन्यास इस प्रकार है:

$variable = (condition) ? (statement1) : (statement2);

शर्त की जगह शर्त जोड़ी गई है. यदि कथन1 के लिए शर्त सत्य होती है, तो जोड़ा जाने वाला डेटा लिखा जाता है। यदि कथन2 के लिए शर्त झूठी आती है, तो जोड़ा जाने वाला डेटा लिखा जाता है।

PHP टर्नरी ऑपरेटर

हमारे पहले उदाहरण में PHP टर्नरी ऑपरेटर'हम देखेंगे कि यह यदि-अन्यथा कथन को कितना छोटा करता है। यदि सत्य है, तो हम बटन का नाम "लॉग आउट" बनाना चाहते हैं क्योंकि उपयोगकर्ता लॉग इन है, और यदि उपयोगकर्ता लॉग इन नहीं है, तो हम बटन का नाम "लॉग इन" बनाना चाहते हैं ताकि उपयोगकर्ता लॉग इन कर सके। आइए मान लें कि यदि उपयोगकर्ता लॉग इन है तो is_user_logged_in वेरिएबल को सही मान दिया जाता है, और यदि उपयोगकर्ता लॉग इन नहीं है तो गलत मान दिया जाता है। यदि स्थिति में, हमने सवाल किया कि क्या is_user_logged_in वेरिएबल सत्य है या नहीं। चूंकि वेरिएबल सही नहीं था, पहली स्थिति में कोड निष्पादित नहीं किए गए थे और अन्य ब्लॉक में भेज दिए गए थे। जैसा कि आप जानते हैं, यदि अन्य सभी शर्तें अमान्य हैं तो अन्य ब्लॉक में कोड निष्पादित होते हैं। इस मामले में, अन्य ब्लॉक में कोड निष्पादित किए गए थे और "साइन इन" आउटपुट प्रदान किया गया था।

// if else ile uzun ifade
$is_user_logged_in = false;
if ($is_user_logged_in === true) {
	echo $button_name = 'Çıkış Yap';
} else {
	echo $button_name = 'Giriş Yap';
}
// Çıktı: Giriş Yap
// ternary operator ile kısa ifade
$is_user_logged_in = false;
echo $button_name = $is_user_logged_in ? 'Çıkış Yap' : 'Giriş Yap';
// Çıktı: Giriş Yap

PHP इको फॉर्मेशन के साथ PHP टर्नरी ऑपरेटरहम उपयोग कर सकते हैं. आइए इसे 2 उदाहरणों से देखें।

$number = 20;
echo ($number > 15) ? "15'ten daha büyük" : "15'ten daha büyük değil";
// Çıktı: number değişkeninin verisi 15'ten daha büyük
$number = 5;
echo ($number == 10) ? "number değişkeninin verisi 10'a eşit" : "number değişkeninin verisi 10'a eşit değil";
// Çıktı: number değişkeninin verisi 10'a eşit değil

PHP टर्नरी ऑपरेटर चेनिंग (चेनिंग टर्नरी ऑपरेटर्स)

इस उदाहरण में PHP टर्नरी ऑपरेटर इसमें एक नया टर्नरी ऑपरेटर है। इसीलिए यह अभिव्यक्ति PHP टर्नरी ऑपरेटर हम इसे चेनिंग टर्नरी ऑपरेटर्स कहते हैं।  अब इस उदाहरण को समझते हैं: आइए मान लें कि यदि उपयोगकर्ता लॉग इन है तो $is_logged_in वैरिएबल को सत्य मान दिया जाता है, और अन्यथा गलत मान दिया जाता है। $बैलेंस वैरिएबल उपयोगकर्ता का बैलेंस है, $प्राइस वैरिएबल उत्पाद की कीमत है। $message वैरिएबल वह संदेश है जो हम उपयोगकर्ता को दिखाएंगे। यदि $message वेरिएबल में is_logged_in वेरिएबल सत्य है, तो स्थिति चलती रहेगी; यदि यह गलत है, तो डेटा "उत्पाद खरीदने के लिए पहले अपने खाते में लॉग इन करें" को $message वेरिएबल को सौंपा जाएगा। स्थिति चलती रही क्योंकि $is_logged_in वेरिएबल सत्य था। दूसरे टर्नरी ऑपरेटर में एक शर्त के रूप में, हमने पूछा कि क्या $बैलेंस वेरिएबल का डेटा $price वेरिएबल के डेटा के बराबर है। $बैलेंस वेरिएबल का डेटा 24 है, $price वेरिएबल का डेटा 30 है। चूंकि वे समतुल्य नहीं हैं, इसलिए स्थिति सही नहीं आई, यह गलत आई। PHP टर्नरी ऑपरेटरपहला डेटा केवल तभी असाइन किया गया था जब स्थिति सही आई थी, दूसरा डेटा तब असाइन किया गया था जब स्थिति गलत आई थी। शर्त झूठी लौटी और $message वेरिएबल को डेटा सौंपा गया "आपके पास उत्पाद खरीदने के लिए पर्याप्त धनराशि नहीं है।" हमने $message वेरिएबल को इको के साथ प्रिंट किया।

$is_logged_in = true; // kullanıcı giriş yaptı mı?   
$balance = 24; // bakiye
$price = 30; // ürün fiyatı
$message = $is_logged_in
			? ($balance === $price
					? 'Ürünü satın almak için yeterli bakiyeniz var'
					: 'Ürünü satın almak için yeterli bakiyeniz yok')
			: 'Ürünü satın almak için önce hesabınıza giriş yapın';
echo $message;
// Ürünü satın almak için yeterli bakiyeniz yok