Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में !== और ==! Operator में अंतर


PHP में !== (Not Identical) एक valid comparison operator है, जबकि ==! कोई operator नहीं है - यह == और ! का संयोजन है।

!== - Not Identical Operator (Strict Inequality)

Value और Type दोनों की जांच करता है। Type juggling नहीं करता।

<?php
var_dump(1 !== 1);      // false (same value, same type)
var_dump(1 !== '1');    // true  (same value, DIFFERENT type: int vs string)
var_dump(1 !== true);   // true  (different type: int vs bool)
var_dump('hello' !== 'world'); // true

==! - Not an Operator (दो Operators का संयोजन)

==! को PHP पार्स करता है == और ! के रूप में:

<?php
$x = true;
$y = false;

$result = $x ==! $y;
// Parsed as: $x == (!$y)
// !$y = !false = true
// $x == true → true == true → true

var_dump($x ==! $y); // bool(true)

// Another example
$a = 5;
$b = 0;
var_dump($a ==! $b); // $a == (!$b) → 5 == true → true (5 is truthy)

Comparison Operators Summary

OperatorनामBehavior
==EqualLoose comparison (type juggling)
===IdenticalStrict comparison (value + type)
!= / <>Not EqualLoose inequality
!==Not IdenticalStrict inequality (value OR type different)
<=>SpaceshipThree-way comparison (-1, 0, 1)

उदाहरण: Type Juggling जाल

<?php
// Loose comparison (==) - खतरनाक हो सकता है
var_dump("123" == "123abc");    // false
var_dump("123" == " 123");      // true (whitespace ignored)
var_dump("0" == "0.0");         // true
var_dump("0" == false);         // true
var_dump("" == false);          // true
var_dump("0" == null);          // true

// Strict comparison (!==) - सुरक्षित
var_dump("123" !== "123abc");   // true
var_dump("123" !== " 123");     // true
var_dump("0" !== "0.0");        // true
var_dump("0" !== false);        // true
var_dump("" !== false);         // true
var_dump("0" !== null);         // true

सर्वोत्तम अभ्यास

  • हमेशा === और !== उपयोग करें जब तक type juggling जानबूझकर न हो
  • ==! कभी न लिखें - यह confusing है और bug का कारण बनता है
  • Boolean checks के लिए: if ($var) या if ($var === true)
  • Null checks के लिए: if ($var === null) या if (is_null($var))

PHP 8.0+ Match Expression (Cleaner Alternative)

<?php
$result = match(true) {
    $a === $b => 'identical',
    $a == $b  => 'equal only',
    default   => 'different'
};
  1. - C# और Visual C# में अंतर

    C# और Visual C# दोनों Same हैं। जब आप C# Development के लिए Visual Studio का उपयोग करते हैं, तो इसे Visual C# कहा जाता है। Visual C# को C# का Implementation Consider करें। Microsoft Visual Studio, Programs, Web Apps, Web Services आदि Develop करने के लिए Microsoft का एक IDE है। Visual Studio का Curre

  1. - C# और .Net में अंतर

    C# एक Programming Language है और .NET एक Framework है। .NET में Common Language Runtime (CLR) होता है, जो .NET Framework का एक Virtual Component है। .NET में न केवल C#, बल्कि इसके माध्यम से आप VB, F# आदि के साथ काम कर सकते हैं। C# .NET का हिस्सा है और इसमें निम्न Features हैं: Boolean Conditions Au

  1. - पायथन में == और is ऑपरेटर के बीच अंतर

    समस्या विवरण is और == ऑपरेटर ज्यादातर समान हैं लेकिन वे समान नहीं हैं। is ऑपरेटर परिभाषित करता है कि क्या दोनों वेरिएबल एक ही ऑब्जेक्ट को इंगित करते हैं जबकि == चिन्ह जांचता है कि दो वेरिएबल के मान समान हैं या नहीं। उदाहरण कोड # पायथन प्रोग्राम: == और is ऑपरेटर के बीच अंतर दिखाने के लिए # [] एक खाल