လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP အတန်းများတွင်ပုဂ္ဂလိကပိုင်ဆိုင်မှုများတည်ရှိမှုကိုစစ်ဆေးရန် Propert_exists ကိုမည်သို့အသုံးပြုရမည်နည်း။ တိကျသောနည်းလမ်းများအသေးစိတ်ရှင်းပြချက်

PHP အတန်းများတွင်ပုဂ္ဂလိကပိုင်ဆိုင်မှုများတည်ရှိမှုကိုစစ်ဆေးရန် Propert_exists ကိုမည်သို့အသုံးပြုရမည်နည်း။ တိကျသောနည်းလမ်းများအသေးစိတ်ရှင်းပြချက်

gitbox 2025-06-11

PHP တွင်အတန်းတစ်ခု၏ဂုဏ်သတ္တိများမရှိမရှိကိုကျွန်ုပ်တို့ဆုံးဖြတ်ရန်လိုအပ်သည်။ အများပြည်သူဆိုင်ရာဂုဏ်သတ္တိများအတွက်, သင်သည် is Isset () သို့မဟုတ် အိမ်ခြံမြေများ () မှတဆင့်တိုက်ရိုက်စစ်ဆေးနိုင်သည်။ ဒါပေမယ့် attribute ကလျှို့ဝှက်ထားတဲ့အခါဘယ်လိုစစ်ဆေးရမလဲ။ ဤဆောင်းပါးတွင် PHP အတန်းတွင်ပုဂ္ဂလိကပိုင်ဆိုင်မှုများတည်ရှိမှုကိုစစ်ဆေးရန်မည်သည့် အိမ်ခြံမြေ 0 န်ကြီးချုပ် () function ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ 0 င်ရောက်မည်ဖြစ်သည်။

1 ။ Property_Exists () ကဘာလဲ။

PHP တွင် PHP တွင်ပါ 0 င်သော function ကို PHP တွင်တပ်ဆင်ထားသည့် function တစ်ခုဖြစ်ပါသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 property_exists(object $object, string $property): bool
  • $ အရာဝတ်ထု : အရာဝတ်ထုဥပမာ။

  • $ Property : ချက်လက်မှတ်ရမည့်အိမ်ခြံမြေအမည်သည် string တစ်ခုဖြစ်ရမည်။

ဤလုပ်ဆောင်မှု သည် boolean value ကိုပြန်ပို့သည်, ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုများတည်ရှိပါက မှန်ကန်သော ,

2 ။ Property_Exists () နှင့် is is iset အကြားခြားနားချက် ()

PHP တွင် ISSET () တွင်ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုများရှိမရှိဆုံးဖြတ်ရန်လည်းအသုံးပြုနိုင်သည်။ သို့သော်၎င်းသည်ကန့်သတ်ချက်များရှိသည်။ ISSET () သည်အဓိကအားဖြင့် attribute ကိုသတ်မှတ်ထားခြင်းရှိမရှိစစ်ဆေးရန်အသုံးပြုသည် (ဆိုလိုသည်မှာ NULL မဟုတ်ပါဖြစ်စေ) ။ Property_exists () ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှု၏တန်ဖိုးသည် Null ဖြစ်မမှန်ကိုဂရုမစိုက်ပါကပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုရှိ, မရှိစစ်ဆေးသည်။

3 ။ Property_Exists () နှင့်အတူပုဂ္ဂလိကဂုဏ်သတ္တိများကိုစစ်ဆေးနည်း

ပုဂ္ဂလိက attribute များသည်ပြင်ပလက်လှမ်းမီမှုမှတစ်ဆင့်တိုက်ရိုက် ဝင်ရောက်. မရပါ , သို့သော်, ပုဂ္ဂလိက attribute သည် အိမ်ခြံမြေ 0 န်းကျင်များ () မှတဆင့်ဖြစ်စေ, ရိုးရှင်းတဲ့ဥပမာတစ်ခုကိုကြည့်ရအောင်။

 <?php

class MyClass {
    private $privateVar;
    
    public function __construct($value) {
        $this->privateVar = $value;
    }
}

$obj = new MyClass('Hello, World!');

if (property_exists($obj, 'privateVar')) {
    echo "ဉစ်စာပစ္စည်းများ 'privateVar' တည်နေ!";
} else {
    echo "ဉစ်စာပစ္စည်းများ 'privateVar' 不တည်နေ!";
}

?>

4 ။ Property_exists () သည် ပုဂ္ဂလိကဂုဏ်သတ္တိများကိုစစ်ဆေးနိုင်သနည်း။

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

5 ။ မှတ်စုဖို့အရာ

  1. အိမ်ခြံမြေအမည်များမှာစာလုံးအကြီးအ သေးအဖွဲဖြစ်သည့် PHP တွင်အိမ်ခြံမြေအမည်များဖြစ်သည်

  2. ပိုင်ဆိုင်မှုမရှိသောဂုဏ်သတ္တိများကိုသင်မစစ်ဆေးနိုင်ပါပစ္စည်းဥစ်စာ ပိုင်ဆိုင်မှုကိုဘယ်တော့မှမသတ်မှတ်ခဲ့ပါက False သို့ပြန်ပို့သည်။ ထို့ကြောင့် attribute သည်လက်ရှိအတန်းထဲတွင်တည်ရှိရန်သေချာစေရန်လိုအပ်သည်။

  3. ငြိမ် ဂုဏ်သတ္တိများ

6 ။ လက်တွေ့ကျသော application အခြေအနေများ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အချို့သောစစ်ဆင်ရေးများကိုလုပ်ဆောင်ရန်ဆုံးဖြတ်ရန်အတန်း၏ဂုဏ်သတ္တိများတည်ရှိခြင်းရှိမရှိကိုကျွန်ုပ်တို့မကြာခဏဆုံးဖြတ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, အသုံးပြုသူ input ကိုထုတ်ယူခြင်းနှင့်အတည်ပြုသည့်အချက်အလက်များကိုပြုပြင်သည့်အခါ အိမ်ခြံမြေ 0 န်ကြီးချုပ်များ () သည် အရာဝတ်ထုတွင်သီးခြားပိုင်ဆိုင်မှုများပါ 0 င်သည်ကိုစစ်ဆေးရန်လိုအပ်နိုင်သည်။

ဥပမာအားဖြင့်, အကယ်. သင်သည်ပုံစံပြုပြင်ခြင်းသင်တန်းကိုရေးဆွဲနေပါကပုံစံတွင်ထည့်သွင်းထားသောနယ်ပယ်များအပေါ် အခြေခံ. အရာဝတ်ထု၏ဂုဏ်သတ္တိများကိုသင်ဖန်တီးနိုင်သည်။ ဤအချိန်တွင်သင်သည်ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုအောင်မြင်စွာဖန်တီးနိုင်မလားစစ်ဆေးရန် Propert_Exists () ကိုသုံးနိုင်သည်။

 <?php

class UserForm {
    private $username;
    private $email;
    
    public function __construct($username, $email) {
        $this->username = $username;
        $this->email = $email;
    }
    
    public function isFieldExist($field) {
        return property_exists($this, $field);
    }
}

$form = new UserForm('johndoe', '[email protected]');

if ($form->isFieldExist('username')) {
    echo "用户名字段တည်နေ!";
} else {
    echo "用户名字段不တည်နေ!";
}

?>

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

Property_exists () သည်အထူးသဖြင့်လူတန်းစားတွင်ပုဂ္ဂလိကပိုင်ဆိုင်မှုရှိမရှိစစ်ဆေးရန်လိုအပ်သည့်အခါအလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည်သတ်မှတ်ထားသော attribute ကို Reflection ယန္တရားမှတဆင့်အတန်းထဲတွင်သတ်မှတ်ထားခြင်းရှိမရှိကိုထိရောက်စွာစစ်ဆေးနိုင်သည်။ Property_exists ၏ကျွမ်းကျင်ပိုင်နိုင်စွာနှင့်အတူ, သင်ကသင်၏ကုဒ်၏ကြံ့ခိုင်မှုနှင့်ထိန်းသိမ်းမှုအတွက် attribute attribute ကိုပိုမိုပြောင်းလွယ်ပြင်ရန်နှင့်စစ်ဆေးနိုင်သည်။