လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> JSON ဒေတာကိုလုပ်ဆောင်ရန် JSON_DECode () နှင့် array_diff_key () ကိုပေါင်းစပ်ခြင်း

JSON ဒေတာကိုလုပ်ဆောင်ရန် JSON_DECode () နှင့် array_diff_key () ကိုပေါင်းစပ်ခြင်း

M66 2025-05-15

PHP တွင် JSON ဒေတာသည်အထူးသဖြင့် API မှဒေတာများကိုရယူရန်သို့မဟုတ်လွှဲပြောင်းရန်လိုအပ်သည့်အခါတွင် JSO Data သည်ဘုံလုပ်ငန်းတစ်ခုဖြစ်သည်။ အသုံးများသောလိုအပ်ချက်များအနက်မှတစ်ခုမှာ JSON တွင် JSON အတွက်သတ်မှတ်ထားသော key-value အတွဲများကိုစစ်ထုတ်ရန်ဖြစ်သည်။ JSON ဒေတာတွင်တိကျသောသော့ချက်တန်ဖိုးအတွဲများကိုထိရောက်စွာ filter လုပ်ရန် JSON_Decode () array_diff_yiff_yiff_yiff_key () လုပ်ဆောင်မှုများကိုမည်သို့ပေါင်းစပ်မည်နည်း။

1 ။ JSON_Decode () function ကိုသုံးပါ

ပထမ ဦး စွာ JSON_Decode () function ကို json format ရှိ json format ဖြင့်ပြောင်းလဲရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှု၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $json_data = '{"name": "John", "age": 30, "city": "New York"}';
$data = json_decode($json_data, true);  // ဒုတိယ parameter သည် true ရလဒ်ရလဒ်တစ်ခုခင်းကျင်းပါစေ

အထက်ဖော်ပြပါကုဒ်များတွင် JSON_DATA သည် JSOSTATATATATATATATATION သည် JSON_DECode () သည် PHP Array $ ဒေတာ သို့ပြောင်းရွှေ့သည်။ ပြောင်းလဲထားသော array သည်:

 Array
(
    [name] => John
    [age] => 30
    [city] => New York
)

2 ။ သတ်မှတ်ထားသောသော့ချက်တန်ဖိုးအတွဲများကို filter လုပ်ရန် array_diff_key () function ကိုသုံးပါ

JSON ဒေတာကို array သို့ကူးပြောင်းသည်နှင့်တပြိုင်နက်ကျွန်ုပ်တို့သည်မလိုလားအပ်သောသော့ချက်တန်ဖိုးအတွဲများကို filter လုပ်ရန် array_diff_ey () function ကိုသုံးနိုင်သည်။ ဤလုပ်ဆောင်ချက်သည် array နှစ်ခု၏သော့များကိုနှိုင်းယှဉ်ပြီးဒုတိယခင်းကျင်းမှုတွင်မပါ 0 င်သောပထမခင်းကျင်းမှုတွင်သော့ချက်တန်ဖိုးအတွဲများကိုပြန်ပို့သည်။

အထက်ပါခင်းကျင်းမှုမှ အသက် နှင့် မြို့ သော့များကိုဖယ်ရှားလိုပါက Name ခလုတ်ကိုသာချန်ထားလိုသည်ဆိုပါစို့။ ငါတို့လုပ်နိုင်တယ် -

 $keys_to_keep = ['name' => null];  // ထိန်းသိမ်းထားခံရဖို့သော့ချက်များ
$filtered_data = array_diff_key($data, $keys_to_keep);

သို့သော် array_diff_key () function ကို function သည်သော့ချက်တန်ဖိုးအတွဲများကိုဖယ်ရှားပေးသည်။ ထို့ကြောင့်ဤကုဒ်သည်ရှုပ်ထွေးနေနိုင်သည်။ နားလည်မှုလွဲမှားခြင်းကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်သီးခြားသော့များကိုဖျက်ပစ်ရန်သော့များကိုပြောင်းရွှေ့ရန်ဆိုလျှင်,

 $keys_to_remove = ['age' => null, 'city' => null];  // ဖယ်ရှားပစ်ရန်သော့ချက်များ
$filtered_data = array_diff_key($data, $keys_to_remove);

ဤနည်းအားဖြင့် $ filtered_data တွင် အမည် သော့နှင့်သက်ဆိုင်သောတန်ဖိုးကိုသာပါ 0 င်လိမ့်မည်။

 Array
(
    [name] => John
)

3 ။ လက်တွေ့လျှောက်လွှာဥပမာ - API မှအချက်အလက်များကိုရယူပြီး၎င်းကို filter လုပ်ပါ

ကျွန်ုပ်တို့တွင် API မှ JSON ဒေတာအချို့ရှိသည်ဟုဆိုပါစို့။ ဒီနေရာမှာပိုပြီးတိကျတဲ့ဥပမာတစ်ခုပါ။

 // ငါတို့အချို့သည်အချို့မှဖြစ်သည်ဆိုပါစို့ URL ရရှိခဲ့သည် JSON အချက်များ
$json_url = "https://m66.net/api/user_data";  // အမှန်တကယ်နှင့်အစားထိုးလိုက်ပါ URL
$json_data = file_get_contents($json_url);

// သေတမ်းစာ JSON အချက်များ解码为 PHP အခင်းအကျင်း
$data = json_decode($json_data, true);

// ငါတို့သာလိုအပ်ပါတယ်ယူဆ user_id နှင့် user_name ဒီနှစ်ခုလယ်ကွင်း
$keys_to_keep = ['user_id' => null, 'user_name' => null];

// အသုံးပြု array_diff_key 筛选需要的အချက်များ
$filtered_data = array_diff_key($data, $keys_to_keep);

// 输出筛选后的အချက်များ
print_r($filtered_data);

ဤဥပမာတွင် file_get_contontents () function သည်သတ်မှတ်ထားသော URL မှ JSON ဒေတာများကို json data များနှင့် JSONS_Decode မှတဆင့် php ခင်းကျင်းသို့ပြောင်းလဲပေးသည်။ ထို့နောက်လိုအပ်သောကွက်လပ်များကိုစစ်ထုတ်ရန်နှင့်နောက်ဆုံးတွင် filtered data များကိုထုတ်ဖော်ရန် array_diff_ey () ကို သုံးပါ။

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

JSON_Decode () နှင့် array_diff_key () လုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သတ်မှတ်ထားသောသော့ချက်တန်ဖိုးအတွဲများကို JSON ဒေတာမှအလွယ်တကူစစ်ထုတ်နိုင်သည်။ JSOR_DECODED () သည် JSON strings များကို PHP Array သို့ပြောင်းလဲရန်တာဝန်ရှိသည်။ ဤချဉ်းကပ်မှုသည် API ခေါ်ဆိုမှုရလဒ်များတွင်ကျယ်ကျယ်ပြန့်ပြန့် အသုံးပြု. JSON ဒေတာများမှထုတ်ယူရန်တိကျသောသတင်းအချက်အလက်များလိုအပ်သည့်မည်သည့်အခြေအနေတွင်မဆိုပြ products နာများပြုလုပ်နိုင်သည်။