PHP में लॉजिकल वैल्यूज की नॉन-स्ट्रिक्ट कम्पेरिजन

पिछले उदाहरण में मैंने तुलना के लिए ऑपरेटर === का उपयोग किया। इस मामले में हमारे वेरिएबल की तुलना true के बराबर की गई थी मान के साथ-साथ टाइप के अनुसार भी।

हमारे कार्य में ऑपरेटर == का भी उपयोग किया जा सकता है। यदि वेरिएबल test में हमेशा true या false में से एक मान होगा, तो कुछ भी नहीं बदलेगा:

php<?php
  $test = true; // यहाँ या true लिखें, या false
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>

लेकिन अगर वेरिएबल $test में कोई भी मान आ सकते हैं, तो सब कुछ बहुत अधिक जटिल हो जाता है। ऐसे मामले में, यदि वेरिएबल में लॉजिकल मान नहीं होगा, तो यह मान पहले लॉजिकल में परिवर्तित किया जाएगा और केवल उसके बाद तुलना की जाएगी।

मान लीजिए, उदाहरण के लिए, हमारे वेरिएबल में नंबर 1 होगा। इस मामले में यह पहले लॉजिकल टाइप में परिवर्तित होगा, यानी true में। और फिर तुलना की जाएगी:

php<?php
  $test = 1;
  
  if ($test == true) {
    echo '+++'; // यह काम करेगा, क्योंकि 1 == true - यह सही है
  } else {
    echo '---';
  }
?>

लेकिन, उदाहरण के लिए, नंबर 0 परिवर्तित होगा false में। और हमारी शर्त परिणाम में गलत होगी:

php<?php
  $test = 0;
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---'; // यह काम करेगा, क्योंकि 0 == true - यह गलत है
  }
?>
Задание 1

कोड चलाए बिना, निर्धारित करें कि क्या प्रदर्शित होगा स्क्रीन पर:

php<?php
  $test = 1;
    
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 2

कोड चलाए बिना, निर्धारित करें कि क्या प्रदर्शित होगा स्क्रीन पर:

php<?php
  $test = 0;
    
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 3

कोड चलाए बिना, निर्धारित करें कि क्या प्रदर्शित होगा स्क्रीन पर:

php<?php
  $test = 1;
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

कोड चलाए बिना, निर्धारित करें कि क्या प्रदर्शित होगा स्क्रीन पर:

php<?php
  $test = 1;
    
  if ($test != true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 5

कोड चलाए बिना, निर्धारित करें कि क्या प्रदर्शित होगा स्क्रीन पर:

php<?php
  $test = '';
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 6

कोड चलाए बिना, निर्धारित करें कि क्या प्रदर्शित होगा स्क्रीन पर:

php<?php
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>