လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_map () နှင့် array_diff () ကိုပေါင်းစပ်ခြင်း + နှိုင်းယှဉ်အောင်မြင်ရန်

array_map () နှင့် array_diff () ကိုပေါင်းစပ်ခြင်း + နှိုင်းယှဉ်အောင်မြင်ရန်

M66 2025-05-14

PHP, array_map () နှင့် array_diff () တွင်အလွန်အမင်းအသုံးပြုသော warraiff စစ်ဆင်ရေးလုပ်ဆောင်ချက်များဖြစ်သည်။ Array_map () ကို array arraiff (2) ခုအကြားခြားနားချက်ကိုတွက်ချက်ရန် callback function ကိုအသုံးပြုရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အစွမ်းထက်သောအချက်အလက်ပြောင်းလဲခြင်းနှင့်နှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်များကိုကျွန်ုပ်တို့အကောင်အထည်ဖော်နိုင်သည်။

1 ။ array_map () function ကို

array_map () function သည် callback function တစ်ခုဖြစ်ပြီး parameters များအနေဖြင့်တစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသော array တစ်ခုဖြစ်ပြီး parameters များအနေဖြင့် array အသစ်တစ်ခုကိုပြန်လည်ပေးလိုက်သည်။

သဒ္ဒါ:

 array_map(callable $callback, array $array1, array $array2, ...);

2 ။ array_diff () function ကို

array_diff () function ကိုပထမ ဦး ဆုံးခင်းကျင်းမှုတွင်တည်ရှိသည့်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောပြင်ဆင်မှုများနှင့်ပြန်လာသည့်ဒြပ်စင်များနှင့်နှိုင်းယှဉ်ရန်အသုံးပြုသည်။

သဒ္ဒါ:

 array_diff(array $array1, array $array2, ...);

3 ။ array_map () နှင့် array_diff ပေါင်းစပ်ခြင်း application scrays ()

ကျွန်ုပ်တို့တွင် array နှစ်ခုရှိသည်ဆိုပါစို့။ တစ်ခုမှာအသုံးပြုသူကိုယ်ရေးကိုယ်တာအချက်အလက်များပါ 0 င်သည်။ မည်သည့်သုံးစွဲသူသတင်းအချက်အလက်သည်ဒေတာဘေ့စ်တွင်မတည်ရှိပါက၎င်းကိုရှာဖွေရန် array_diff () ကို သုံး. ဤအချက်အလက်ကိုပြောင်းလဲရန်သို့မဟုတ် format လုပ်ရန် array_map () ကို သုံးပါ။

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

နမူနာကုဒ်:

 <?php
// Simulated အသုံးပြုသူသတင်းအချက်အလက်ခင်းကျင်း
$users = [
    ['id' => 1, 'name' => 'Zhang San', 'email' => 'zhangsan@example.com'],
    ['id' => 2, 'name' => 'li si', 'email' => 'lisi@example.com'],
    ['id' => 3, 'name' => 'ဝမ်ဝူ', 'email' => 'wangwu@example.com']
];

// Simulated ဒေတာဘေ့စစံပြ array(ဒေတာဘေ့စ်တွင်ပထမ ဦး ဆုံးမှတ်တမ်းနှစ်ခုသာရှိသည်ဟုယူဆပါ)
$dbUsers = [
    ['id' => 1, 'name' => 'Zhang San', 'email' => 'zhangsan@m66.net'],
    ['id' => 2, 'name' => 'li si', 'email' => 'lisi@m66.net']
];

// ဒေတာဘေ့စစံချိန်တွင်မရှိသောအသုံးပြုသူများကိုရယူပါ
$usersToAdd = array_diff(
    array_map(function($user) { return $user['email']; }, $users),
    array_map(function($user) { return $user['email']; }, $dbUsers)
);

// ထည့်သွင်းရန်အသုံးပြုသူ output ကို
echo "ထည့်သွင်းရန်လိုအပ်သည့်အသုံးပြုသူများ:\n";
foreach ($usersToAdd as $userEmail) {
    echo $userEmail . "\n";
}

?>

code parsing:

  1. ဒေတာပြင်ဆင်မှု - ကျွန်ုပ်တို့တွင် ဒေါ်လာအသုံးပြုသူများ နှင့် $ dbusers နှစ်ခုရှိပြီး ဒေါ်လာအသုံးပြုသူများ သည်အသုံးပြုသူအချက်အလက်များဖြစ်ပြီး ဒေါ်လာ dbusers သည် ဒေတာဘေ့စ်တွင်ရှိပြီးသားမှတ်တမ်းဖြစ်သည်။

  2. array နှိုင်းယှဉ်ချက် - array_map () ကို သုံး. array တစ်ခုစီ၏ အီးမေးလ် နယ်ပယ်ကို သုံး. $ arrays arrays arrays on empression array_diff () ကို သုံးပါ

  3. output ရလဒ် - သင်ထည့်ရန်လိုအပ်နေသောအသုံးပြုသူအီးမေးလ်လိပ်စာကို output လုပ်ရန် fonteach ကို loop သို့တင်ပါ။

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

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