လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_map () ကိုသုံးရန် MySQLI_RESult Row Data ကိုသုံးပါ

array_map () ကိုသုံးရန် MySQLI_RESult Row Data ကိုသုံးပါ

M66 2025-05-18

PHP တွင်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် MySQLI extension ကိုအသုံးပြုသောအခါကျွန်ုပ်တို့သည်စုံစမ်းမှုရလဒ်များကိုထပ်မံလုပ်ဆောင်ရန်လိုအပ်သည်။ MySQLI_RESult Object သည်ဒေတာဘေ့စ်ရှိစုံစမ်းမှုမှပြန်လာသောအချက်အလက်အားလုံးကိုသိမ်းဆည်းထားသည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်အချို့သောစစ်ဆင်ရေးများကိုလုပ်ဆောင်ရန်ဒေတာအတန်းတစ်ခုစီကိုဖြတ်သန်းရန်လိုအပ်သည်။ ဘုံလမ်းသည်ကွင်းဆက်များဖြင့်ဖြစ်သည်။ သို့သော်ကျွန်ုပ်တို့သည်ပိုမိုတိကျသောနည်းဖြင့်အသုံးပြုလိုပါက PHP ၏ Built-in array_map array_map () function ကို၏အကူအညီဖြင့်အချက်အလက်များ၏အတန်းတစ်ခုစီကိုအသုတ်လုပ်နိုင်သည်။

1 ။ array_map () function ကိုမိတ်ဆက်

Array_map () သည် array ရှိ element တစ်ခုချင်းစီသို့ callback function ကိုအသုံးပြုရန်ခွင့်ပြုသည့်အဆင့်မြင့်လုပ်ဆောင်မှုဖြစ်သည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင်၎င်းသည် element တစ်ခုစီကို callback function မှတဆင့်ပြင်ဆင်ပါ။

အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_map(callable $callback, array $array, array ...$arrays): array
  • Callback သည်ကျွန်ုပ်တို့လျှောက်ထားလိုသော callback function ကိုဖြစ်သည်။

  • Array သည်ကျွန်ုပ်တို့လုပ်ဆောင်လိုသော array ဖြစ်သည်။

  • Multiple array များစွာကို parameters များအဖြစ်လက်ခံနိုင်သည်။ သို့သော်ယေဘုယျအားဖြင့်ကျွန်ုပ်တို့သည်တစ်နေရာတည်းတွင်သာဖြတ်သန်းသွားသည်။

2 ။ array_map () ကိုသုံးပါ MySQLI_Result ရလဒ်များ

MySQLI_RESELULET processing သောအခါ, ပထမ ဦး စွာ၎င်းကို array တစ်ခုထဲသို့ပြောင်းလဲရန်လိုအပ်သည်။ ၎င်းကို MySQLI_FETCE_ATCHT_ALL () function မှတဆင့်အကောင်အထည်ဖော်နိုင်ပြီး query ကိုနှစ်ခုရှုထောင်ခင်းကျင်းမှုကိုပြောင်းလဲစေသည်။ ထို့နောက်ကျွန်ုပ်တို့သည်အတန်းတစ်ခုစီကိုလုပ်ဆောင်ရန် array_map () ကို သုံးနိုင်သည်။

နမူနာကုဒ်:

 <?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli("localhost", "root", "password", "database_name");

// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}

// တစ် ဦး စုံစမ်းမှု execute
$result = $mysqli->query("SELECT * FROM users");

// query ကိုနှစ်ခုရှုထောင်ခင်းကျင်းရန်ပြောင်းလဲခြင်းရလဒ်များ
$data = mysqli_fetch_all($result, MYSQLI_ASSOC);

// callback function ကိုသတ်မှတ်ပါ,ဒေတာတစ်ခုချင်းစီအတန်း process ဖို့အသုံးပြုခဲ့သည်
function processRow($row) {
    // ဥပမာအားဖြင့်,တစ်ခုချင်းစီကိုအတန်း၏ဒေတာကိုပြုပြင်မွမ်းမံ(ဒီမှာဥပမာတစ်ခုပါ)
    $row['email'] = str_replace('@old-domain.com', '@m66.net', $row['email']);
    return $row;
}

// အသုံးပြု array_map တစ်ခုချင်းစီကိုအတန်း၏သုတ်ထုတ်ခြင်း
$processedData = array_map('processRow', $data);

// output ကိုလုပ်ငန်းများ၌ဒေတာ
print_r($processedData);

// ဒေတာဘေ့စ် connection ကိုပိတ်ပါ
$mysqli->close();
?>

Code ဖော်ပြချက်:

  1. ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ခြင်း - ပထမ ဦး စွာ MySQLI အသစ် မှတစ်ဆင့်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုတည်ဆောက်သည်။

  2. Execute query : MySQLI-> query query () ကို သုံးပါ

  3. မေးမြန်းမှုရလဒ်များကို array : query ကို query ကို queriative array သို့ပြောင်းရန် MySQLI_FETCE_ALL () ကိုသုံးပါ။

  4. Callback function ကိုသတ်မှတ်ခြင်း - Processrow () သည်အတန်းတစ်ခုစီ၏အချက်အလက်များကိုပြုပြင်မွမ်းမံသည့်စိတ်ကြိုက်ခေါ်ဆိုမှု function ဖြစ်သည်။ ဥပမာအားဖြင့်, ဤနေရာတွင်ကျွန်ုပ်တို့သည် Domain name ကို Old domoDain.com မှ M66.net မှ M66.net မှ M66.net သို့အစားထိုးသည်။

  5. အသုတ်အပြောင်းအလဲ - ဒေတာတစ်ခုစီ၏အတန်းတစ်ခုစီကို array_map () function ကိုဖြတ်ပြီးထုတ်ယူပြီးအတန်းတစ်ခုချင်းစီကိုထိန်းထားရန် callback function function perform လုပ်ပါ

  6. output လုပ်ထားသောအချက်အလက်များ - နောက်ဆုံးတွင်ကျွန်ုပ်တို့သည်လုပ်ငန်းစဉ်အချက်အလက်များကိုထုတ်ဖော်ပြောဆိုသည်။

3 ။ Array_map () ?

foreach loops ကိုလိုင်းလိုင်းမှအချက်အလက်လိုင်းကိုလုပ်ဆောင်ရန်နှင့်နှိုင်းယှဉ်လျှင် array_map () တွင် သန့်ရှင်းသော syntax ရှိပြီး code ကိုပိုမိုကျစ်လစ်သိပ်သည်းစေသည်။ အထူးသဖြင့်ပိုမိုရှုပ်ထွေးသောလုပ်ငန်းများကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါ array_map () ကို အသုံးပြု. Code သည် code ကိုပိုမိုအလုပ်လုပ်သောပရိုဂရမ်ပုံစံကိုပိုမိုရှုပ်ထွေးစေသည်။

4 ။ မှတ်စုများ

  • array_map () array အသစ်တစ်ခုကိုပြန်ပို့ပြီးမူရင်းခင်းကျင်းမှုကိုပြုပြင်မွမ်းမံခြင်းမရှိပါ။ ထို့ကြောင့်သင်သည်မူရင်းဒေတာကိုသိမ်းထားရန်လိုအပ်ပါကအခြား variable ကိုအခြား variable တစ်ခုတွင်သိုလှောင်သိမ်းဆည်းနိုင်သည်။

  • MySQLI_FETCH_ALL () နှစ်ရှုထောင်ခင်းကျင်းမှုကိုပြန်ပို့သည်။ ထို့ကြောင့်၎င်းကို array_map () တွင်တိုက်ရိုက်ကိုင်တွယ်နိုင်သည်။ ကော်လံတစ်ခုတည်းကိုသာလုပ်ဆောင်ရန်သာလိုအပ်ပါကကော်လံကို ဦး စွာထုတ်ယူရန် Array_column () ကဲ့သို့သောအခြားလုပ်ဆောင်မှုများကိုသင်အသုံးပြုနိုင်သည်။

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

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