လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_change_key_key_ky_case () web crawler ခွဲခြမ်းစိတ်ဖြာမှုဆိုင်ရာအချက်အလက်များကိုအသုံးပြုပါ

array_change_key_key_ky_case () web crawler ခွဲခြမ်းစိတ်ဖြာမှုဆိုင်ရာအချက်အလက်များကိုအသုံးပြုပါ

M66 2025-04-25

အချက်အလက်သန့်ရှင်းရေးနှင့်စံသတ်မှတ်ခြင်းသည်အထူးသဖြင့် HTML စားပွဲများ, JSON interfaces များသို့မဟုတ် API အချက်အလက်များမှ API အချက်အလက်များကိုထုတ်ယူရန်လိုအပ်သည့်အခါဝက်ဘ်များ, JSON interfaces များသို့မဟုတ် API အချက်အလက်များကိုထုတ်ယူရန်လိုအပ်သည့်အခါ၎င်းသည်အလွန်အရေးကြီးသောအလုပ်ဖြစ်သည်။ နောက်ဆက်တွဲအချက်အလက်အပြောင်းအလဲများနှင့်ယုတ္တိရှိသောဆုံးဖြတ်ချက်များကိုလွယ်ကူချောမွေ့စေရန်အတွက်စာလုံးအကြီးများအားလုံးဖြစ်ရန် Array ရှိအဓိကအမည်များကိုကျွန်ုပ်တို့မကြာခဏပေါင်းစည်းရန်လိုအပ်သည်။

PHP တွင် Array_change_key_Key_case () သည်ထိရောက်သောလက်တွေ့လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်အမှန်တကယ် web crawler မြင်ကွင်းမှစတင်ပါလိမ့်မည်။ ဤလုပ်ဆောင်မှုကို အသုံးပြု. Crawler data processing တွင်၎င်း၏ထိရောက်သော application ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ နိဒါန်း

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ array : input ၏မူလခင်းကျင်း;

  • $ အ မှု

ဤလုပ်ဆောင်ချက်သည်အဘယ်သူ၏အမည်များကိုသတ်မှတ်ထားသောအမှုသို့ပြောင်းလဲသွားပြီဖြစ်သောခင်းကျင်းအသစ်တစ်ခုကိုပြန်လည်ရောက်ရှိစေသည်။

2 ။ ဝဘ်ဘ 0 တွင်လျှောက်လွှာအခြေအနေများ

ကျွန်ုပ်တို့သည် https://api.m66.net/data/products မှ JSON interface ကိုဖမ်းပြီးအောက်ပါဖွဲ့စည်းပုံကိုရရှိသည်ဆိုပါစို့။

 $data = [
    "ProductID" => 123,
    "ProductName" => "USB Cable",
    "PRICE" => 9.99,
    "currency" => "USD"
];

သင်မြင်နိုင်သည့်အတိုင်းဤသော့ချက်အမည်များသည်အလွန်ကိုက်ညီမှုမရှိပါ။ ဤအချက်အလက်အမျိုးအစားကိုလုပ်ဆောင်သောအခါ $ ဒေတာ ['စျေးနှုန်း'] တိုက်ရိုက်အသုံးပြုပါကကျွန်ုပ်တို့သည်အမှန်တကယ်သော့သည် စျေးနှုန်း ဖြစ်သည်။ ဒီပြ problem နာကိုဖြေရှင်းဖို့ array_change_key_ky_case () ကိုသုံးနိုင်တယ်။

 $normalizedData = array_change_key_case($data, CASE_LOWER);

echo $normalizedData['price']; // ထုတ်လုပ်ခြင်း:9.99

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

3 ။ အသိုက် Arrays ကိုကိုင်တွယ်

အကယ်. တွားသွားသည့်ဒေတာသည်အသိုက်ခင်းကျင်းမှုတစ်ခုဖြစ်သည်။

 $data = [
    "ProductID" => 123,
    "Details" => [
        "Manufacturer" => "XYZ Corp",
        "Warranty" => "1 year"
    ]
];

ဤအချိန်တွင် array_change_key_Key_case () သည် ထိပ်တန်းသော့အမည်များကိုသာလုပ်ဆောင်လိမ့်မည်မဟုတ်ဘဲ subarray ကိုပြန်လည်ပြုပြင်မွမ်းမံလိမ့်မည်မဟုတ်ချေ။ သော့နာမည်အမည်ကိုအားဖြည့်စွက်ရန်လိုအပ်ပါကအောက်ပါထုံးစံ function ကိုသုံးနိုင်သည်။

 function array_change_key_case_recursive(array $array, int $case = CASE_LOWER): array {
    $result = [];
    foreach ($array as $key => $value) {
        $key = is_string($key) ? ($case === CASE_UPPER ? strtoupper($key) : strtolower($key)) : $key;
        $result[$key] = is_array($value) ? array_change_key_case_recursive($value, $case) : $value;
    }
    return $result;
}

$normalizedData = array_change_key_case_recursive($data, CASE_LOWER);

echo $normalizedData['details']['manufacturer']; // ထုတ်လုပ်ခြင်း:XYZ Corp

4 ။ JSONS_Decode နှင့်ပေါင်းစပ်ပါ ()

ဝက်ဘ်တွား 0 န်ထမ်းများတွင် JSON_Decode () ကို သုံးလေ့ရှိသည်။ Key Name Unified Operations ကိုအသုံးပြုရန်ပိုမိုလွယ်ကူစေရန်, decoding လုပ်သည့်အခါ Associative Array ကိုတိုက်ရိုက်ပြန်ပို့ရန်အကြံပြုပါသည်။

 $json = file_get_contents("https://api.m66.net/data/products");
$data = json_decode($json, true); // ဒုတိယ parameter သည်ဖြစ်ပါတယ် true,အဆိုပါ Associative Array ပြန်လာသည်

$normalizedData = array_change_key_case_recursive($data, CASE_LOWER);

ဤနည်းအားဖြင့်ပြုပြင်ထားသောခင်းကျင်းဖွဲ့စည်းပုံသည်ပိုမိုတသမတ်တည်းဖြစ်လိမ့်မည်။

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

စည်းလုံးညီညွတ်သောကိစ္စရပ်များအတွက်အရေးယူဆောင်ရွက်ခြင်းအမှုအရာသည်အထူးသဖြင့်အရင်းအမြစ်များကိုပေါင်းစည်းခြင်း, ရှာဖွေခြင်း, မြေပုံရေးခြင်း, PHP ၏ Built-in array_change_key_Key_case () သည်ပိုမိုကောင်းမွန်သောအကောင်အထည်ဖော်မှုနှင့်အတူရှုပ်ထွေးသောအချက်အလက်များကိုအလွယ်တကူကိုင်တွယ်နိုင်သည့်ထိရောက်သောဖြေရှင်းချက်တစ်ခုပေးသည်။

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်မှုကို tool method တစ်ခုအဖြစ် encapsulate လုပ်ရန်နှင့် crawler module များ၏အချက်အလက်သန့်ရှင်းရေးအဆင့်တွင်တစ်ပုံစံတည်းသုံးရန်အကြံပြုသည်။ ကုဒ်တစ်ခုတည်းပါသောသော့ချက်အမည်ပြ problem နာကိုအလွယ်တကူဖြေရှင်းနိုင်လိမ့်မည်။