လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Parse_Url က NULL နှင့် FALS အကြားခြားနားချက်ကိုပြန်ပို့သည်

Parse_Url က NULL နှင့် FALS အကြားခြားနားချက်ကိုပြန်ပို့သည်

gitbox 2025-05-26

PHP တွင် Parse_url function သည် URLs များကိုခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် protocols များ,

 $url = "https://gitbox.net/path?query=1";
$parts = parse_url($url);
print_r($parts);

ဤကုဒ်သည် URL ၏အစိတ်အပိုင်းများကိုထုတ်လုပ်သည်။

 Array
(
    [scheme] => https
    [host] => gitbox.net
    [path] => /path
    [query] => query=1
)

သို့သော်တစ်ခါတစ်ရံတွင် Parse_Url သည် မှားယွင်းသော သို့မဟုတ် မှားယွင်းသော အခြေအနေများပြန်လည်ရောက်ရှိသည့်အခြေအနေများကြုံတွေ့ရလိမ့်မည်။ သူတို့စိတ်ရှုပ်ထွေးသွားလိမ့်မည်။ ဤဆောင်းပါးသည်ဤပြန်လည်ထူထောင်ရေးတန်ဖိုးနှစ်ခု၏အဓိပ္ပာယ်နှင့်သက်ဆိုင်သောအခြေအနေများကိုအသေးစိတ်ရှင်းပြပါမည်။

Parse_url မှားယွင်းသောပြန်လာ

PHP 7.3 နှင့်အထက်တွင်, အဝင် URL format သည်အလွန်အမင်းမှားယွင်းနေပါက Parse_Url သည် မှားယွင်းစွာ တုံ့ပြန်လိမ့်မည်။

 $url = "ht!tp:::/invalid-url";
$result = parse_url($url);
var_dump($result);  // bool(false)

ဤနေရာတွင် URL ပုံစံသည်သတ်မှတ်ချက်များကိုလိုက်နာခြင်းမဟုတ်ပါ, function ကိုပုံမှန်မခွဲနိုင်ပါ

အကျဉ်းချုပ်:

  • မှားယွင်းသော ပြန်လာခြင်းသည်များသောအားဖြင့်ဖြတ်သန်းသွားသော string ကိုတရားဝင် URL သို့မဟုတ် URI အဖြစ်အသိအမှတ်မပြုနိုင်ခြင်းဖြစ်သည်။

  • ဘာဖြစ်လို့လဲဆိုတော့ string မှာခွင့်ပြုချက်မရှိဘဲစာလုံးတွေပါ 0 င်တဲ့အတွက်ဖြစ်နိုင်တယ်။

Parse_url null ပြန်လာ

စင်စစ်အားဖြင့် Parse_Url function သည် တရား 0 င် ပြန်ပို့ရန်တရားဝင်စာရွက်စာတမ်းများတွင်အတိအလင်းမဖော်ပြထားပါ။ သို့သော် Parse_Url နှင့် string or String အမျိုးအစားတွင်ဖြတ်သန်းခြင်းကဲ့သို့သောသတ်သတ်မှတ်မှတ်ကိစ္စရပ်များတွင် NULL ပေါ်လာနိုင်သည်။

 $url = "";
$result = parse_url($url);
var_dump($result);  // NULL သို့မဟုတ်ဗလာခင်းကျင်း,ပေါ်တွင်မူတည်ပါသည် PHP ထင်မြင်ချက်

ထို့အပြင် URL ၏တိကျသောအစိတ်အပိုင်းတစ်ခုဖြစ်ပြီးဤအပိုင်းသည် URL တွင်မတည်ရှိပါက Return Value ၏သက်ဆိုင်ရာအစိတ်အပိုင်းသည် NULL ဖြစ်သည်။

 $url = "https://gitbox.net";
$host = parse_url($url, PHP_URL_HOST);
var_dump($host);  // string(9) "gitbox.net"

$path = parse_url($url, PHP_URL_PATH);
var_dump($path);  // NULL,အကေြာင်းမှာ URL လမ်းကြောင်းအပိုင်းတစ်ပိုင်းမရှိပါ

ဤနေရာတွင်ပြန်လာသော NULL သည်သီးခြားအပိုင်းတစ်ခုအတွက်ရလဒ်ဖြစ်သည်။

အကျဉ်းချုပ်:

  • NULL ပြန်လာသော URL အစိတ်အပိုင်းတစ်ခုအတွက်တောင်းဆိုမှုတစ်ခုဖြစ်နိုင်သည်။

  • ထို့အပြင်အချည်းနှီးသော string ကိုသို့မဟုတ်မမှန် parameter သည်လွန်ခဲ့သည့်နေရာများမှာ PHP ဗားရှင်းပေါ်တွင်မူတည်သည်။

အကျဉ်းချုပ်နှင့်အကြံပြုချက်များ

Value ကိုပြန်သွားပါ အဓိပ္ပါယ် ပုံမှန်အခြေအနေများ
မှားသော URL သည်မမှန်ကန်ပါ။ ခွဲခြမ်းစိတ်ဖြာမရပါ Input string တွင်တရားမဝင်ဇာတ်ကောင်များသို့မဟုတ်ဖွဲ့စည်းတည်ဆောက်ပုံခြွင်းချက်များပါရှိသည်
တရားစွာလဲှ တောင်းဆိုထားသော URL အစိတ်အပိုင်းသည်မတည်ရှိပါသို့မဟုတ်အချည်းနှီးသော string ကိုမရှိပါ မတည်ရှိသောအစိတ်အပိုင်းတစ်ခုတောင်းဆိုခြင်းသို့မဟုတ်အချည်းနှီးသော string ကိုမလွန်ပါနှင့်

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်၎င်းသည်အကြံပြုသည် -

  1. URL string သည်အချည်းနှီးဖြစ်သည်,

  2. Parse_Url ကို ခေါ်ဆိုသောအခါအချို့သောအကွက်များသာလိုအပ်လျှင်ပြန်လည်ရရှိခြင်းသည်ပရိုဂရမ်၏အမှားကိုရှောင်ရှားရန် NULL ဖြစ်သည်ကိုသေချာစွာဆုံးဖြတ်ရန်သေချာပါစေ။

  3. ခွဲခြမ်းစိတ်ဖြာခြင်းမပြုမီ, သင်သည်ပရိုဂရမ်အား 0 င်ရောက်ရန် URL ဖွဲ့စည်းပုံကိုစတင်ရန်ပုံမှန်သို့မဟုတ်စစ်ထုတ်ခြင်းလုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။

ဥပမာအားဖြင့်:

 $url = "https://gitbox.net";

$host = parse_url($url, PHP_URL_HOST);
if ($host === null) {
    echo "URL အဘယ်သူမျှမအတွက် host ခဲှခြား\n";
} else {
    echo "Host: $host\n";
}

ကျိုးကြောင်းဆီလျော်သောတရားစီရင်ခြင်းအားဖြင့် တရားစွဲဆိုခြင်း သို့မဟုတ် မှားယွင်းသောအမှားများ ကြောင့်ဖြစ်ပေါ်လာသောယုတ္တိအမှားများကိုရှောင်ရှားနိုင်သည်။