လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင်အရာဝတ်ထုများကိုမည်သို့နှိုင်းယှဉ်မည်နည်း။ အရာဝတ်ထုနှိုင်းယှဉ်မှုအတွက်အော်ပရေတာများကိုအသုံးပြုပါ

PHP တွင်အရာဝတ်ထုများကိုမည်သို့နှိုင်းယှဉ်မည်နည်း။ အရာဝတ်ထုနှိုင်းယှဉ်မှုအတွက်အော်ပရေတာများကိုအသုံးပြုပါ

M66 2025-06-17

1 ။ နိဒါန်း

Object-Oriented PHP applications များကိုတီထွင်သောအခါအရာဝတ်ထုများကိုနှိုင်းယှဉ်ရန်နှင့်သူတို့တန်းတူရှိမရှိဆုံးဖြတ်ရန်မကြာခဏလိုအပ်သည်။ ဤဆောင်းပါးသည်အရာဝတ္ထုများကို PHP ရှိအရာဝတ်ထုများကိုနှိုင်းယှဉ်ခြင်းနှင့်၎င်းတို့နောက်ကွယ်ရှိအခြေခံမူများကိုလေ့လာနိုင်သည့်ကွဲပြားခြားနားသောနည်းလမ်းများကိုလေ့လာလိမ့်မည်။

2 ။ PHP တွင်အရာဝတ်ထုများ၏နှိုင်းယှဉ်

PHP တွင်ကျွန်ုပ်တို့သည် (ဥပမာ - ==,! ==, ==, ==, ==, ==, ==) ကိုသုံးနိုင်သည်။ ဤအော်ပရေတာများသည်အမျိုးအစားနှစ်မျိုးတူပင်ဖြစ်မှုရှိမရှိ, အထူးသဖြင့်:

== : အရာဝတ်ထုနှစ်ခုရဲ့ attribute တန်ဖိုးများတန်းတူရှိမရှိဆုံးဖြတ်သည်။

! = - အရာဝတ်ထုနှစ်ခု၏ attribute တန်ဖိုးများကိုတန်းတူမဟုတ်လားဆိုတာဆုံးဖြတ်သည်။

=== : အရာဝတ်ထုနှစ်ခုသည်တူညီသောအရာဝတ်ထုများဟုတ်မဟုတ်ဆုံးဖြတ်ရန်။

! == : အရာဝတ်ထုနှစ်ခုသည်တူညီသောအရာဝတ်ထုမဟုတ်လားဆိုတာဆုံးဖြတ်ရန်။

2.1 == အော်ပရေတာ

== အော်ပရေတာသည်ပစ္စည်းဥစ်စာနှစ်ခုအနက်မှပစ္စည်းတန်ဖိုးများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ အရာဝတ်ထုနှစ်ခု၏ attribute တန်ဖိုးများတန်းတူဖြစ်လျှင်,

 $obj1 = new stdClass();
$obj2 = new stdClass();
$obj1->name = 'Zhang San';
$obj1->age = 20;
$obj2->name = 'Zhang San';
$obj2->age = 20;

if ($obj1 == $obj2) {
    echo 'နှစ်ခုအရာဝတ်ထုတန်းတူဖြစ်ကြသည်';
} else {
    echo 'နှစ်ခုအရာဝတ်ထုတန်းတူကြသည်မဟုတ်';
}

အထက်ပါကုဒ်တွင် PROMCLASS ၏အရာဝတ်ထုနှစ်ခုကိုကျွန်ုပ်တို့ဖန်တီးထားသောကြောင့်အိမ်ခြံမြေတန်ဖိုးရှိသည့်တန်ဖိုးရှိသည့်အရာဖြစ်သည်။

2.2! = အော်ပရေတာ

! = အရာဝတ်ထုနှစ်ခု၏ attribute တန်ဖိုးများသည်တန်းတူမဟုတ်လော။ attribute တန်ဖိုးများတန်းတူမဟုတ်လျှင်စစ်မှန်သောပြန်လာပါက,

 $obj1 = new stdClass();
$obj2 = new stdClass();
$obj1->name = 'Zhang San';
$obj1->age = 20;
$obj2->name = 'li si';
$obj2->age = 30;

if ($obj1 != $obj2) {
    echo 'နှစ်ခုအရာဝတ်ထု၏ attribute တန်ဖိုးများတန်းတူမဟုတ်ကြဘူး';
} else {
    echo 'နှစ်ခုအရာဝတ်ထု၏ attribute တန်ဖိုးများတန်းတူဖြစ်ကြသည်';
}

ဤဥပမာတွင် attribute တန်ဖိုးများကို itf1 နှင့် $ obj2 ကွဲပြားခြားနားသောကြောင့် output ရလဒ်သည် "အရာဝတ်ထုနှစ်ခု၏ attribute တန်ဖိုးများသည်တန်းတူမဟုတ်ပါ။ "

2.3 === အော်ပရေတာ

The === operator သည်အရာဝတ်ထုနှစ်ခုသည်တူညီသောအရာဝတ်ထုတစ်ခုဖြစ်သည်ဖြစ်စေနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ အရာဝတ်ထုနှစ်ခုသည်အရာဝတ်ထုနှစ်ခုကိုမှတ်ဉာဏ်လိပ်စာတစ်ခုတည်းကိုသာညွှန်ပြမှသာလျှင်သာပြန်လာပါ။

 $obj1 = new stdClass();
$obj2 = $obj1;

if ($obj1 === $obj2) {
    echo 'နှစ်ခုအရာဝတ်ထုတူညီတဲ့အရာဝတ်ထုဖြစ်ကြသည်';
} else {
    echo 'နှစ်ခုအရာဝတ်ထုတူညီသောအရာဝတ်ထုမဟုတ်ပါဘူး';
}

ဤကုဒ်နံပါတ်တွင် UBJ2 သည်ဒေါ်လာ OBJ2 မှဒေါ်လာ OBJ1 ၏မှတ်ဉာဏ်လိပ်စာကိုညွှန်ပြသောကြောင့် output သည် "အရာဝတ်ထုနှစ်ခု" ဖြစ်သည်။

2.4! == အော်ပရေတာ

အဆိုပါ! == အော်ပရေတာသည် === operator ၏အချိုးကျဆင်ခြင်းတစ်ခုဖြစ်သည်။ ဆိုလိုသည်မှာအရာဝတ်ထုနှစ်ခုသည်တူညီသောအရာဝတ်ထုမဟုတ်လော။ ကွဲပြားခြားနားသောမှတ်ဥာဏ်လိပ်စာများကိုအရာဝတ်ထုနှစ်ခုကိုညွှန်ပြပါကအရာ 0 တ်ထုနှစ်ခုကိုအမှတ်အသားပြုပါ။

 $obj1 = new stdClass();
$obj2 = $obj1;
$obj3 = new stdClass();

if ($obj1 !== $obj3) {
    echo 'နှစ်ခုအရာဝတ်ထုတူညီသောအရာဝတ်ထုမဟုတ်ပါဘူး';
} else {
    echo 'နှစ်ခုအရာဝတ်ထုတူညီတဲ့အရာဝတ်ထုဖြစ်ကြသည်';
}

ဤဥပမာတွင် $ Obj1 နှင့် $ obj3 သည်မတူညီသောအရာဝတ်ထုနှစ်ခုဖြစ်ပြီး output သည် "အရာဝတ်ထုနှစ်ခုသည်တူညီသောအရာဝတ်ထုမဟုတ်" ဖြစ်သည်။

3 ။ အရာဝတ်ထုများ၏နှိုင်းယှဉ်၏နိယာမ

PHP တွင်အရာဝတ်ထုများကိုနှိုင်းယှဉ်ပါက object များကို အသုံးပြု. အရာဝတ်ထုများကိုနှိုင်းယှဉ်လျှင်အရာဝတ်ထုသည်အရာဝတ်ထုကိုနှိုင်းယှဉ်မှုအတွက် string တစ်ခုအဖြစ်ပြောင်းလဲရန်အရာဝတ်ထု၏ __tostring () နည်းလမ်းကိုအလိုအလျောက်ခေါ်ဆိုလိမ့်မည်။ အကယ်. အရာဝတ်ထုသည်ဤနည်းလမ်းကိုအကောင်အထည်မ 0 င်ပါက PHP သည် "Catchable Fatal Error" အမှားတစ်ခုရှိသည်။

အကယ်. အရာဝတ်ထုသည် __tostring () နည်းလမ်းကိုအကောင်အထည်ဖော်ပါကဤနည်းလမ်းကိုအရာဝတ်ထုကို string တစ်ခုသို့ပြောင်းလဲပြီးနှိုင်းယှဉ်ခြင်းဟုခေါ်သည်။ အရာဝတ်ထုများကိုနှိုင်းယှဉ်သောအခါအရာ 0 တ်ထုများကိုနှိုင်းယှဉ်သောအခါအရာဝတ်ထု၏ပိုင်ဆိုင်မှုတန်ဖိုးများကိုသာထည့်သွင်းစဉ်းစားခြင်းနှင့်နည်းလမ်းများမပါ 0 င်ကြောင်းသတိပြုသင့်သည်။ ဒါကြောင့်အရာဝတ်ထုနှစ်ခုမှာတူညီတဲ့ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုတန်ဖိုးရှိသော်လည်းကွဲပြားခြားနားသောနည်းလမ်းများ, PHP ကသူတို့ကိုတန်းတူစဉ်းစားနေဆဲဖြစ်သည်။

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

ဤဆောင်းပါးသည် PHP တွင်အရာဝတ်ထုများနှင့်၎င်းတို့၏နောက်ကွယ်ရှိအခြေခံမူများကိုမည်သို့နှိုင်းယှဉ်ရမည်ကိုဆွေးနွေးထားသည်။ နှိုင်းယှဉ်ပါက operator ကိုမှန်ကန်စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အရာဝတ်ထုနှစ်ခု၏တန်းတူညီမျှမှုကိုထိရောက်စွာတရားစီရင်နိုင်ပြီး၎င်းတို့သည်တူညီသောအရာဝတ်ထုရှိမရှိကိုထိရောက်စွာဆုံးဖြတ်နိုင်သည်။