PHP တွင်အတန်းတစ်ခု၏ဂုဏ်သတ္တိများမရှိမရှိကိုကျွန်ုပ်တို့ဆုံးဖြတ်ရန်လိုအပ်သည်။ အများပြည်သူဆိုင်ရာဂုဏ်သတ္တိများအတွက်, သင်သည် is Isset () သို့မဟုတ် အိမ်ခြံမြေများ () မှတဆင့်တိုက်ရိုက်စစ်ဆေးနိုင်သည်။ ဒါပေမယ့် attribute ကလျှို့ဝှက်ထားတဲ့အခါဘယ်လိုစစ်ဆေးရမလဲ။ ဤဆောင်းပါးတွင် PHP အတန်းတွင်ပုဂ္ဂလိကပိုင်ဆိုင်မှုများတည်ရှိမှုကိုစစ်ဆေးရန်မည်သည့် အိမ်ခြံမြေ 0 န်ကြီးချုပ် () function ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ 0 င်ရောက်မည်ဖြစ်သည်။
PHP တွင် PHP တွင်ပါ 0 င်သော function ကို PHP တွင်တပ်ဆင်ထားသည့် function တစ်ခုဖြစ်ပါသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
property_exists(object $object, string $property): bool
$ အရာဝတ်ထု : အရာဝတ်ထုဥပမာ။
$ Property : ချက်လက်မှတ်ရမည့်အိမ်ခြံမြေအမည်သည် string တစ်ခုဖြစ်ရမည်။
ဤလုပ်ဆောင်မှု သည် boolean value ကိုပြန်ပို့သည်, ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုများတည်ရှိပါက မှန်ကန်သော ,
PHP တွင် ISSET () တွင်ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုများရှိမရှိဆုံးဖြတ်ရန်လည်းအသုံးပြုနိုင်သည်။ သို့သော်၎င်းသည်ကန့်သတ်ချက်များရှိသည်။ ISSET () သည်အဓိကအားဖြင့် attribute ကိုသတ်မှတ်ထားခြင်းရှိမရှိစစ်ဆေးရန်အသုံးပြုသည် (ဆိုလိုသည်မှာ NULL မဟုတ်ပါဖြစ်စေ) ။ Property_exists () ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှု၏တန်ဖိုးသည် Null ဖြစ်မမှန်ကိုဂရုမစိုက်ပါကပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုရှိ, မရှိစစ်ဆေးသည်။
ပုဂ္ဂလိက 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' 不တည်နေ!";
}
?>
PHP မှ PHP တွင် function_exists () function သည်ရောင်ပြန်ဟပ်မှုယန္တရားမှတစ်ဆင့်အကောင်အထည်ဖော်သည်။ ၎င်းသည်၎င်းနှင့် ထုတ်ပေးခြင်း () အကြားအရေးကြီးသောကွဲပြားခြားနားမှုများထဲမှတစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည် ပုဂ္ဂလိက ပိုင်ဆိုင်မှုများကိုတိုက်ရိုက်မသုံးနိုင်သော်လည်းကျွန်ုပ်တို့သည်ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုအတန်းထဲတွင်သတ်မှတ်ခြင်းရှိမရှိဆုံးဖြတ်ရန်အတွက် ပစ္စည်းဥစ်စာများ () ကို သုံးနိုင်သည်။
အိမ်ခြံမြေအမည်များမှာစာလုံးအကြီးအ သေးအဖွဲဖြစ်သည့် PHP တွင်အိမ်ခြံမြေအမည်များဖြစ်သည် ။
ပိုင်ဆိုင်မှုမရှိသောဂုဏ်သတ္တိများကိုသင်မစစ်ဆေးနိုင်ပါ ။ ပစ္စည်းဥစ်စာ ပိုင်ဆိုင်မှုကိုဘယ်တော့မှမသတ်မှတ်ခဲ့ပါက False သို့ပြန်ပို့သည်။ ထို့ကြောင့် attribute သည်လက်ရှိအတန်းထဲတွင်တည်ရှိရန်သေချာစေရန်လိုအပ်သည်။
ငြိမ် ဂုဏ်သတ္တိများ
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အချို့သောစစ်ဆင်ရေးများကိုလုပ်ဆောင်ရန်ဆုံးဖြတ်ရန်အတန်း၏ဂုဏ်သတ္တိများတည်ရှိခြင်းရှိမရှိကိုကျွန်ုပ်တို့မကြာခဏဆုံးဖြတ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, အသုံးပြုသူ 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 "用户名字段不တည်နေ!";
}
?>
Property_exists () သည်အထူးသဖြင့်လူတန်းစားတွင်ပုဂ္ဂလိကပိုင်ဆိုင်မှုရှိမရှိစစ်ဆေးရန်လိုအပ်သည့်အခါအလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည်သတ်မှတ်ထားသော attribute ကို Reflection ယန္တရားမှတဆင့်အတန်းထဲတွင်သတ်မှတ်ထားခြင်းရှိမရှိကိုထိရောက်စွာစစ်ဆေးနိုင်သည်။ Property_exists ၏ကျွမ်းကျင်ပိုင်နိုင်စွာနှင့်အတူ, သင်ကသင်၏ကုဒ်၏ကြံ့ခိုင်မှုနှင့်ထိန်းသိမ်းမှုအတွက် attribute attribute ကိုပိုမိုပြောင်းလွယ်ပြင်ရန်နှင့်စစ်ဆေးနိုင်သည်။