လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff () ကိုဘယ်လိုလုပ်ရမလဲ။

array_diff () ကိုဘယ်လိုလုပ်ရမလဲ။

M66 2025-05-14

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

1 ။ array_diff ၏အခြေခံအသုံးပြုမှု ()

PHP ၏ Array_Diff () function ကိုနှစ်ခုထက်ပိုသော array နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောနေရာများနှင့်နှိုင်းယှဉ်ရန်အသုံးပြုသည်။

 $array1 = ["a", "b", "c", "d"];
$array2 = ["b", "d"];

$result = array_diff($array1, $array2);
print_r($result);
// ထုတ်လုပ်ခြင်း:Array ( [0] => a [2] => c )

2 ။ JSON ဒေတာကိုလုပ်ငန်းစဉ်နှင့်နှိုင်းယှဉ်ပါ

များသောအားဖြင့် JSON format data များကို API (သို့ ) ပြင်ပဖိုင်များမှ json_decode () ကို အသုံးပြု. array array သို့ပြောင်းပါလိမ့်မည်။ ထို့နောက် array_diff () ကို သုံးပါ။

ဥပမာ - JSON strings နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်း

 $json1 = '["apple", "banana", "cherry", "date"]';
$json2 = '["banana", "date", "fig"]';

// တစ် ဦး ခင်းကျင်းထဲသို့ decode
$array1 = json_decode($json1, true);
$array2 = json_decode($json2, true);

// ကွဲပြားခြားနားမှုနှိုင်းယှဉ်
$diff = array_diff($array1, $array2);

print_r($diff);
// ထုတ်လုပ်ခြင်း:Array ( [0] => apple [2] => cherry )

3 ။ မှတ်စုဖို့အရာ

  1. ဒေတာတည်ဆောက်ပုံကိုဆက်ထားပါjson_decode () သည် အရာဝတ်ထုကိုပုံမှန်အားဖြင့်ပြန်ပို့ပေးပြီးဒုတိယ parray ကို Associative Array သို့မဟုတ် Index ခင်းကျင်းမှုကိုရယူရန် မှန်ကန် ရန်လိုအပ်သည်။

  2. အဓိကနာမည်ကရလဒ်ကိုမထိခိုက်ပါဘူး - array_diff () သည် တန်ဖိုးများကိုသာနှိုင်းယှဉ်ခြင်းနှင့်သော့အမည်ကိုမစဉ်းစားပါ။

  3. ဒေတာအမျိုးအစားသည်တသမတ်တည်းဖြစ်သင့်သည် အကယ် . ခင်းကျင်းမှုတစ်ခုသည်ကိန်းတစ်ခုဖြစ်ပါကအခြားတစ်ခုသည် string တစ်ခု၏ပုံစံဖြစ်သည်။ သင်အမျိုးအစားကိုပေါင်းစည်းရန် array_map () ကို သုံးနိုင်သည်။

 $array1 = array_map('strval', $array1);
$array2 = array_map('strval', $array2);

4 ။ လက်တွေ့ကျသော application အခြေအနေများ

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

 $remoteJson = file_get_contents('https://api.m66.net/data/items');
$remoteData = json_decode($remoteJson, true);

$localData = ["item_101", "item_102", "item_103"]; // ဒေတာဘေ့စကနေ ID စာရင်း

$newItems = array_diff($remoteData, $localData);

print_r($newItems);
// ထုတ်လုပ်ခြင်း:ဝေးလံခေါင်သီပေမယ့်ဒေသအလိုက်မဟုတ်ပါဘူး item ID စာရင်း

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

array_diff () ကို သုံး. JSON_Decode () နှင့်ပေါင်းစပ်ထားသော JSOS အချက်အလက်များနှင့်ကွဲပြားခြားနားမှုများကိုအလွန်ထိရောက်စွာနှိုင်းယှဉ်နိုင်သည်။ ဒေတာထပ်တူပြုခြင်း, ဒေတာများကိုပြောင်းလဲခြင်း, တိဒေတာဖွဲ့စည်းပုံ၏စည်းလုံးမှုကိုဂရုပြုရန်မတိကျသောအခြေအနေများကိုရှောင်ရှားရန်အမှန်တကယ်အသုံးပြုမှုကိုအသုံးပြုသောအခါ၎င်းကိုအသုံးပြုပါ။

အကယ်. သင်သည်အလားတူလုပ်ဆောင်မှုများကိုတီထွင်နေပါက,