php 3 अलग बराबर है




comparison operators (4)

उन्नत PHP उपयोगकर्ताओं के लिए, == और === बीच अंतर जानने और खुद से पूछना "क्या यह == या === साथ तुलना करने के लिए तेज़ है जब मुझे यकीन है कि दोनों ऑपरेंड एक ही प्रकार के हैं?"

संक्षिप्त और सामान्य उत्तर यह है: इस मामले में === का उपयोग करने में कोई प्रदर्शन लाभ नहीं है, इसलिए आपको शायद == उपयोग करना चाहिए।

स्वयं को बेंचमार्क करने में दिलचस्पी रखने वालों के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं जिसे मैंने विज्ञापन-लिखा था और $a और $b लिए अलग-अलग मानों का प्रयास किया है:

<?php
    // CONFIGURATION
    $cycles = 1000000;
    $a = 'random string 1';
    $b = 'random string 2';

    // FUNCTIONS
    function compare_two_equals($a, $b) {
        if ($a == $b) {
            return TRUE;
        } else {
            return FALSE;
        }
    }

    function compare_three_equals($a, $b) {
        if ($a === $b) {
            return TRUE;
        } else {
            return FALSE;
        }
    }

    // EXECUTION
    $time = microtime(TRUE);
    for ($count_a = 0; $count_a < $cycles; $count_a++) {
        compare_two_equals($a, $b);
    }
    $time_two_a = microtime(TRUE) - $time;
    $time = microtime(TRUE);
    for ($count_a = 0; $count_a < $cycles; $count_a++) {
        compare_three_equals($a, $b);
    }
    $time_three_a = microtime(TRUE) - $time;
    $time = microtime(TRUE);
    for ($count_a = 0; $count_a < $cycles; $count_a++) {
        compare_two_equals($a, $b);
    }
    $time_two_b = microtime(TRUE) - $time;
    $time = microtime(TRUE);
    for ($count_a = 0; $count_a < $cycles; $count_a++) {
        compare_three_equals($a, $b);
    }
    $time_three_b = microtime(TRUE) - $time;
    $time = microtime(TRUE);

    // RESULTS PRINTING
    print "<br />\nCOMPARE == (FIRST TRY): " . number_format($time_two_a, 3) . " seconds";
    print "<br />\nCOMPARE == (SECOND TRY): " . number_format($time_two_b, 3) . " seconds";
    print "<br />\nCOMPARE === (FIRST TRY): " . number_format($time_three_a, 3) . " seconds";
    print "<br />\nCOMPARE === (SECOND TRY): " . number_format($time_three_b, 3) . " seconds";
?>

नोट: तुलना केवल तभी वैध होती है जब प्रत्येक "FIRST TRY" अपने "SECOND TRY" के बहुत करीब है। यदि वे काफी अलग हैं, तो इसका मतलब है कि प्रोसेसर तुलना निष्पादित करते समय कुछ और करने में व्यस्त था और इसलिए परिणाम अविश्वसनीय हैं और बेंचमार्क फिर से चलाना चाहिए।

= , == , और === बीच क्या अंतर है?

मुझे लगता है कि एक बराबर चिह्न का उपयोग एक चर घोषित करना है जबकि तुलनात्मक स्थिति के लिए दो बराबर संकेत हैं और अंतिम रूप से तीन बराबर संकेत घोषित चर के मानों की तुलना करने के लिए हैं।


आपके पास असाइनमेंट ऑपरेटर है , == 'बराबर' तुलना ऑपरेटर और === 'समान' तुलना ऑपरेटर

$a = $b     Assign      Sets $a to be equal to $b.
$a == $b    Equal       TRUE if $a is equal to $b.
$a === $b   Identical   TRUE if $a is equal to $b, and they are of the same type. (introduced in PHP 4)

== और === की आवश्यकता पर अधिक जानकारी के लिए, और प्रत्येक का उपयोग करने के लिए स्थितियों, दस्तावेज़ों को देखें


  • = असाइनमेंट ऑपरेटर है
  • == तुलना ऑपरेटर है (जांच करता है कि दो चर के बराबर मान हैं)
  • === समान तुलना ऑपरेटर है (जांच करता है कि दो चर के बराबर मान हैं और एक ही प्रकार के हैं)।

= असाइनमेंट ऑपरेटर

== जांचता है कि दो चर के समान मूल्य है या नहीं

=== जांचता है कि दो चर के समान मूल्य हैं और यदि उनके प्रकार समान हैं





operators