လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> IS_NULL ကိုသုံးတဲ့အခါ Misjudgment ကိုဘယ်လိုရှောင်ရှားရမလဲ။ မှားယွင်းသောအမှားများကိုပြန်လာခြင်းမှကာကွယ်ရန်သိကောင်းစရာများ

IS_NULL ကိုသုံးတဲ့အခါ Misjudgment ကိုဘယ်လိုရှောင်ရှားရမလဲ။ မှားယွင်းသောအမှားများကိုပြန်လာခြင်းမှကာကွယ်ရန်သိကောင်းစရာများ

gitbox 2025-08-07

PHP တွင် IS_NURL () သည် variable တစ်ခု ဟုတ်မဟုတ် စစ်ဆေးရန်လေ့ကျင့်ထားသော function တစ်ခုဖြစ်သည်။ သို့သော် PHP တွင်ပြောင်းလဲခြင်းယန္တရားများကြောင့် IS_NULL () သည် အချို့သောကိစ္စရပ်များတွင်မမျှော်လင့်သောရလဒ်များကိုပြန်ပို့နိုင်ပြီးအချို့ကိစ္စရပ်များတွင်မမျှော်လင့်သောရလဒ်များရရှိစေနိုင်သည်။ ထို့ကြောင့်မည်သည့် IS_NULL ကိုအသုံးပြုရမည်ကိုနားလည်ရန်အလွန်အရေးကြီးသည် () မှားယွင်းသော အမှားများကိုပြန်မသွားပါနှင့်။

1 ။ is_null ၏အခြေခံအသုံးပြုမှု ()

ပထမ ဦး စွာ is_null ၏အခြေခံအသုံးပြုမှုကိုကြည့်ကြပါစို့။ ၎င်းသည် parameter သည်လက်ခံပြီး variable သည် null ဟုတ်မဟုတ်ကိုညွှန်ပြရန် စစ်မှန်သော သို့မဟုတ် မှားယွင်းသော ပြန်လာသည်။

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-string">"Hello"</span></span><span>;

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>)); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>)); </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span></span>

ဤဥပမာတွင် $ Var1 ၏တန်ဖိုးသည် Null ဖြစ်သည် ။ ထို့ကြောင့် ဒေါ်လာ Var2 ၏တန်ဖိုးသည် "Hello" string string ကို " ဟဲလို " ဖြစ်သည်။

2 ။ အမျိုးအစားပြောင်းလဲခြင်းပြ problems နာများကြောင့်ဖြစ်ရတဲ့ misjudgment

is_null () သည် variable တစ်ခုဖြစ်သည် ဖြစ်စေရှာဖွေတွေ့ရှိနိုင်သော်လည်းအချို့သောကိစ္စရပ်များတွင်အခြားတန်ဖိုးအမျိုးအစားများသည်အခြားတန်ဖိုးအမျိုးအစားများသည် မှားယွင်းသောအရာ နှင့်ဆင်တူသည်။

2.1 0 င် နှင့် '0' နှင့် null အကြားခြားနားချက်

PHP တွင် 0 နှင့် '0' 0 လုံး 0 င်) နှစ် ဦး စလုံးသည် " ဗလာ " ဟုသတ်မှတ်သည်။ သင် is_null () ဤတန်ဖိုးများကိုစစ်ဆေးရန် () () ကို အသုံးပြုသောအခါ၎င်းတို့ကို မှားယွင်းစွာ စီရင်ဆုံးဖြတ်သည်။

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-string">'0'</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>)); </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>)); </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>)); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span></span>

2.2 ဗလာခင်းကျင်းနှင့် null အကြားခြားနားချက်

အချည်းနှီးသော arrays [] နှင့် NULL သည် PHP တွင်ကွဲပြားခြားနားသည်။ အချို့ကိစ္စရပ်များတွင်ဆင်တူသော်လည်း is_null () သည် မှားယွင်းစွာ ပြန်ပို့သည်။

 <span><span><span class="hljs-variable">$var1</span></span><span> = [];
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>)); </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_null</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>)); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span></span>

သငျသညျ is_null assust () အချည်းနှီးသောခင်းကျင်းမှုကိုအကဲဖြတ်ရန်, ရလဒ်မှားယွင်းနေသည်။

3 ။ Misjudgment ကိုဘယ်လိုရှောင်ရှားရမလဲ။

Misjudgment ကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် is_null () ၏တရားစီရင်ခြင်းဆိုင်ရာယုတ္တိဗေဒဆိုင်ရာယုတ္တိဗေဒဆိုင်ရာယုတ္တိဗေဒကိုနားလည်ရမည်။ ဤတွင် Misjudgment ကိုရှောင်ရှားရန်အကြံပြုချက်များအချို့ကိုဤတွင်ဖော်ပြထားသည်။

3.1 တင်းကျပ်သောတန်းတူညီမျှမှုကိုသုံးပါ === ကို သုံးပါ

variable တစ်ခုသည် Null ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်လိုအပ်ပါသလား။ ၎င်းသည်အခြား " 0 0 'ချည်း နှီးသော", အချည်းနှီးသောခင်းကျင်းမှုစသည်တို့နှင့်ရောနှောနိုင်မည်ဟုစိုးရိမ်နေပါက,

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-string">'0'</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span> === </span><span><span class="hljs-literal">null</span></span><span>); </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span> === </span><span><span class="hljs-literal">null</span></span><span>); </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span> === </span><span><span class="hljs-literal">null</span></span><span>); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span></span>

၎င်းသည်အမျိုးအစားပြောင်းလဲခြင်းကြောင့်ဖြစ်ပေါ်လာသော misjudg များကိုရှောင်ရှားနိုင်သည်။

3.2 ကွဲပြားခြားနားသော "ဗလာ" တန်ဖိုးများကိုရှင်းရှင်းလင်းလင်းခွဲခြားထားသည်

0 င် " ( အချည်း နှီး သော strings" (အချည်းနှီးသော strings) စသည့် PHP တွင် "အချည်းနှီးသော" တန်ဖိုးများစွာရှိသည် ဤကွဲပြားခြားနားသောအခြေအနေများကိုသင်ဆုံးဖြတ်ရန်လိုအပ်ပါက,

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = [];

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>)); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>)); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>)); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span></span>

Variable သည် Null , 0 , အချည်းနှီးသော string, အချည်းနှီးသောခင်းကျင်းခြင်းစသည်တို့ကိုအချည်းနှီးသောတန်ဖိုးကိုအချည်းနှီးသောတန်ဖိုးတစ်ခုဖြစ်ပါက အချည်းနှီးဖြစ်သည်

3.3 ထုံးစံစစ်ဆေးခြင်းယုတ္တိဗေဒ

တစ်ခါတစ်ရံတွင် variable တစ်ခု၏အခြေအနေကိုအကဲဖြတ်ရန်သင်ပိုမိုရှုပ်ထွေးသောယုတ္တိဗေဒလိုအပ်ပေမည်။ အမျိုးမျိုးသောအခြေအနေများကိုထုံးစံအတိုင်းလုပ်ဆောင်ချက်များမှတစ်ဆင့်ကိုင်တွယ်နိုင်သည်။ ဥပမာအားဖြင့်, variable တစ်ခုသည် Null သို့မဟုတ်အခြား "အချည်းနှီးသော" တန်ဖိုးများကိုစစ်ဆေးသောအခါ NELL ပထမ ဦး ဆုံးဖယ်ထုတ်ပြီးအခြားစစ်ဆေးမှုများပြုလုပ်နိုင်သည်။

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">isActuallyNull</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$var</span></span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$var</span></span><span> === </span><span><span class="hljs-literal">null</span></span><span>;
}

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">isActuallyNull</span></span><span>(</span><span><span class="hljs-literal">null</span></span><span>)); </span><span><span class="hljs-comment">// bool(true)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">isActuallyNull</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>));    </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">isActuallyNull</span></span><span>(</span><span><span class="hljs-string">''</span></span><span>));   </span><span><span class="hljs-comment">// bool(false)</span></span><span>
</span></span>

4 ။ အကျဉ်းချုပ်

PHP တွင် IS_NULL () သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်၎င်း၏မှားယွင်းသောပြ problems နာများကိုသတိထားပါ။ PHP ၏အမျိုးအစားပြောင်းလဲခြင်းယန္တရားကြောင့် NULL တန်ဖိုးများကို Null နှင့်ရှုပ်ထွေးနိုင်သည်။ ထို့ကြောင့်တင်းကျပ်သောနှိုင်းယှဉ်ခြင်းအော်ပရေ တာ ကိုအသုံးပြုခြင်းသည်ကွဲပြားခြားနားသော "အချည်းနှီးသော" တန်ဖိုးများကိုရှင်းလင်းစွာခွဲခြားရန်သို့မဟုတ်အမှန်တကယ်လိုအပ်ချက်များအပေါ် အခြေခံ. စစ်ဆေးခြင်းဆိုင်ရာယုတ္တိဗေဒကိုစိတ်ကြိုက်ပြုလုပ်ခြင်းသည်လွဲမှားခြင်းကိုရှောင်ရှားရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ကျိုးကြောင်းဆီလျော်သောတရားစီရင်ခြင်းအားဖြင့်သင်သည် code ၏တိကျမှန်ကန်မှုကိုသေချာစေရန်နှင့် Misjudgment ကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုသင်ရှောင်ရှားနိုင်သည်။