လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> end () strings သို့မဟုတ် non-array variable တွေကိုများအတွက်အမှားအယွင်းများအတွက်တိုက်ရိုက်မသုံးနိုင်ပါ

end () strings သို့မဟုတ် non-array variable တွေကိုများအတွက်အမှားအယွင်းများအတွက်တိုက်ရိုက်မသုံးနိုင်ပါ

M66 2025-05-17

PHP တွင် အဆုံး () function ကိုမကြာခဏခင်းကျင်း၏နောက်ဆုံး element သို့ array porceer ကိုရွှေ့ဖို့နှင့်ထို element ကိုပြန်ပို့။ အဆုံးသတ် () array variarbles သို့မဟုတ် strings များသို့လျှောက်ထားရန်ကြိုးစားသည့်အခါ, များသောအားဖြင့်သင်သည်မှားယွင်းသောအမှားများနှင့်ဆင်တူသည်။

 Warning: end() expects parameter 1 to be array, string given

ဘာဖြစ်လို့လဲဆိုတော့ အဆုံး () function က function က၎င်း၏ parameters တွေကို array type ကိုဖြစ်ရမယ်လို့ဆိုပါတယ်။ အကယ်. သင်သည် String သို့မဟုတ်အခြား Non-Array အမျိုးအစားတွင်ဖြတ်သန်းပါကအမှားကိုပစ်ချလိမ့်မည်။ ဤဆောင်းပါးသည်ဤပြ problem နာအတွက်ဖြေရှင်းနည်းများစွာကိုလေ့လာပြီးဥပမာကုဒ်ကိုပေးလိမ့်မည်။

1 ။ ခင်းကျင်းမှုကို အဆုံးသတ်ရန်သေချာအောင်လုပ်ပါ ()

ပထမ ဦး စွာဤပြ problem နာကိုဖြေရှင်းရန်အလွယ်ကူဆုံးနည်းလမ်းမှာ အဆုံး () function ၏ parray သည် array တစ်ခုဖြစ်ကြောင်းသေချာစေရန်ဖြစ်သည်။ အကယ်. သင်အောင်မြင်သော variable သည် string သို့မဟုတ်အခြားဒေတာအမျိုးအစားတစ်ခုဖြစ်ပါက၎င်း၏အမျိုးအစားကိုအရင်စစ်ဆေးရန်လိုအပ်သည်။

 <?php
$data = 'This is a string'; // ဒါကအမှားတစ်ခုဖြစ်ပေါ်စေလိမ့်မယ်

if (is_array($data)) {
    echo end($data);
} else {
    echo 'Error: Variable is not an array.';
}
?>

အထက်ဖော်ပြပါကုဒ်သည် $ data data သည် is_array () function မှတဆင့်ခင်းကျင်းခြင်းရှိမရှိပထမ ဦး ဆုံးစစ်ဆေးသည်။ အကယ်. ၎င်းသည်ခင်းကျင်းမှုတစ်ခုဖြစ်ပါက အဆုံး () function ကိုခေါ်လိမ့်မည်,

2 ။ string ကို array ဖို့ပြောင်းလဲ

သင်၏ variable သည် string တစ်ခုဖြစ်ပြီး string တွင် string ထဲရှိအက္ခရာများကို array element များအဖြစ်လုပ်ဆောင်လိုပါက string ကို array တစ်ခုသို့ပြောင်းလဲပြီးဖုန်းခေါ်ဆိုပြီး အဆုံးသတ်ရန် () ဟုခေါ်ဆိုနိုင်သည်။

 <?php
$data = 'This is a string';

$dataArray = str_split($data); // strings ကိုဇာတ်ကောင် Arrays သို့ပြောင်းပါ

echo end($dataArray); // output string ၏နောက်ဆုံးဇာတ်ကောင်
?>

ဤဥပမာတွင် strat_split () function သည် string ကိုဇာတ်ကောင်ခင်းကျင်းအဖြစ်ပြောင်းလဲပေးသည်, ထို့ကြောင့် string ၏ နောက်ဆုံး ဇာတ်ကောင်ကိုလုံခြုံစွာခေါ်ယူနိုင်သည်။

3 ။ URL တွင် domain name ကိုလုပ်ဆောင်ပါ

သင်၏ကုဒ်တွင် URLs များပါ 0 င ပါက Domain Name တွင် Domain Name ကိုအစားထိုးလိုပါက Parse_Url () function ကိုသုံးနိုင်သည်။ URLs ပါ 0 င်သည့် array တစ်ခုပြုလုပ်ရန်လိုအပ်သည်ဆိုပါစို့။

 <?php
$urls = [
    'https://www.example.com/page1',
    'https://www.example.com/page2',
    'https://www.example.com/page3'
];

// အဖြစ်ဒိုမိန်းအမည်ကိုအစားထိုးလိုက်ပါ m66.net
$updatedUrls = array_map(function ($url) {
    $parsedUrl = parse_url($url);
    $parsedUrl['host'] = 'm66.net'; // ဒိုမိန်းအမည်အသစ်ဖြင့်အစားထိုးပါ
    return http_build_url($parsedUrl); // ပြန်. ဆောက်လုပ် URL
}, $urls);

print_r($updatedUrls); // output ကို updated URLs
?>

ဤဥပမာတွင် URL ခင်းကျင်းမှုမှတစ်ဆင့် array_map () function ကိုအသုံးပြုသည်။ URL array မှတစ်ဆင့် URL တစ်ခုချင်းစီကို Parse_Url () function ကိုခွဲခြမ်းစိတ်ဖြာပါက domain name အပိုင်းကို M66.net ဖြင့်အစားထိုးလိုက်ပါ။ နောက်ဆုံးတွင် updated URL ကို ပြန်လည်တည်ဆောက်ပါ။

မှတ်ချက် - http_build_URL () သည် pecl_http extension ကိုဖွင့်ရန်လိုအပ်သည်။ မဖွင့်ပါကသင်စိတ်ကြိုက် URL တည်ဆောက်သူကိုသုံးနိုင်သည်။

4 ။ အမှားအယွင်းရေးနှင့်ဖြေရှင်းချက်အမှား

အထက်ပါနည်းလမ်းများအပြင်သင်သည်လည်းအလားတူပြ problems နာများကိုထုတ်ယူခြင်းနှင့်အမှားကိုင်တွယ်သည့်ယန္တရားများကိုဖြေရှင်းခြင်းဖြင့်အလားတူပြ problems နာများကိုလည်းဖြေရှင်းနိုင်သည်။ debugging လုပ်နေစဉ်မှာ Var_Dump () သို့မဟုတ် print_r () functions တွေကိုသုံးနိုင်တယ်။

 <?php
$data = 'This is a string'; // ဒါဟာ string ကိုဖြစ်ပါတယ်ယူဆ

var_dump($data); // output variable ကိုအမျိုးအစားနှင့်တန်ဖိုး

if (is_array($data)) {
    echo end($data);
} else {
    echo 'Error: Variable is not an array.';
}
?>

ဤနည်းလမ်းသည်ဒေတာအမျိုးအစားသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိ,

အကျဉ်းချုပ်