PHP नल कोलेसिंग क्या है? इसका क्या और कैसे उपयोग किया जाता है? ये हम इस पाठ में सीखेंगे।

PHP Null Coalescing ऑपरेटर को PHP 7 में पेश किया गया था। PHP Null Coalescing ऑपरेटर सशर्त रूप से डेटा असाइन करने की अनुमति देता है। यदि पहला ऑपरेंड मौजूद है और शून्य नहीं है, तो यह पहला ऑपरेंड लौटाता है, अन्यथा यह दूसरा ऑपरेंड लौटाता है।

PHP नल कोलेसिंग उदाहरण

// Örnek 1: 
echo $name = $_POST['name'] ?? 'nobody';
// Çıktı: nobody
// Örnek 1.1
if (isset($_POST['name'])) {
    echo $name = $_POST['name'];
} else {
    echo $name = 'nobody';
}
// Çıktı: nobody
// Örnek 1.2
echo $name = isset($_POST['name']) ? $_POST['name'] : 'nobody';
// Çıktı: nobody

उदाहरण 1 में, चूंकि name नाम का कोई पोस्ट डेटा नहीं था, इसलिए $name वेरिएबल को कोई भी मान नहीं सौंपा गया था और इसे मुद्रित किया गया था। उदाहरण 1, PHP Null Coalescing ऑपरेटर के साथ उदाहरण 1.1 और 1.2 का संक्षिप्त संस्करण है। दोनों एक ही परिणाम देते हैं और एक ही अर्थ रखते हैं।

// Örnek 2
$first_name = 'Onur';
$last_name = null;
echo ($first_name ?? 'Ad Yok') . ' ' . ($last_name ?? 'Soyad Yok');?> 
// Çıktı: Onur Soyad Yok

उदाहरण 2 में, चूँकि $first_name वेरिएबल में डेटा है, इसने पहली स्थिति में वेरिएबल लौटाया। हालाँकि, चूँकि $last_name वैरिएबल शून्य था, इसने दूसरी स्थिति में दूसरा ऑपरेंड लौटाया और 'कोई उपनाम नहीं' वाक्य मुद्रित किया।

PHP नल कोलेसिंग ऑपरेटर चेनिंग

हम PHP Null Coalescing ऑपरेटर को चेन करके उपयोग कर सकते हैं।

// Örnek 3
echo $name = $_GET['name'] ?? $_POST['name'] ?? 'nobody';
// Çıktı: nobody
// Örnek 3.1
if (isset($_GET['name'])) {
    echo $name = $_GET['name'];
} elseif (isset($_POST['name'])) {
    echo $name = $_POST['name'];
} else {
    echo $name = 'nobody';
}
// Çıktı: nobody

उदाहरण 3 में, PHP $_GET['name'] को $name वेरिएबल में डेटा निर्दिष्ट करता है और यदि $_GET['name'] परिभाषित है तो इसे प्रिंट करता है। यदि इसे परिभाषित नहीं किया गया है, तो $_POST'name'] वेरिएबल की जांच करें, यदि $_POST'name'] को परिभाषित किया गया है, तो यह त्याग देता है और प्रिंट कर देता है, यदि नहीं, तो यह 'कोई नहीं' डेटा को त्याग देता है और प्रिंट कर देता है। उदाहरण 3.1 उदाहरण 3 जैसा ही परिणाम देता है और इसका अर्थ भी वही है। उदाहरण 3.1 उदाहरण 3 का एक लंबा संस्करण है, जिसे if-elseif-else सशर्त कथन के साथ कोडित किया गया है। उदाहरण 3 PHP Null Coalescing के साथ कोडित एक लघु संस्करण है।