PHP တွင် array_combine function သည် arrays နှစ်ခုကို artiative array သို့ပေါင်းစပ်ထားသောအလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒေတာဘေ့စ်အပလီကေးရှင်းများကိုတီထွင်သောအခါဒေတာဘေ့စ်နယ်ပယ်အမည်များကိုမော်ဒယ်လ်သို့မဟုတ်အခြား variable အမည်များကိုမြေပုံဆွဲရန်မကြာခဏလိုအပ်သည်။ ဤအချိန်တွင် array_combine function ကိုကျွန်ုပ်တို့အားဤလုပ်ငန်းတာဝန်ကိုဖြည့်စွက်ရန်ကူညီရန်အသုံးပြုနိုင်သည်။
Array_combine function သည် array နှစ်ခုကို parameters နှစ်ခုကိုလက်ခံသည်, ပထမခင်းကျင်းမှုကို Associative Array သို့သော့များအဖြစ်အသုံးပြုသည်။ ဒုတိယ array ကိုတန်ဖိုးများအဖြစ်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်ဤနှစ်ခု array နှစ်ခုရှိ elements များကို activiative array အသစ်သို့ပေါင်းစပ်ထားသည်။
သဒ္ဒါ:
array_combine(array $keys, array $values): array|false
$ keys : Associative ခင်းကျင်းတည်ဆောက်ရန်အသုံးပြုသောသော့ချက်။
$ တန်ဖိုးများ - Associative Array ကိုတည်ဆောက်ရန်အသုံးပြုသောတန်ဖိုး။
ဤလုပ်ဆောင်ချက်သည် Associative array အသစ်တစ်ခုကိုပြန်ပို့သည်။ အကယ်. Array အရှည်သည်ကိုက်ညီမှုမရှိပါက မှားယွင်းစွာ ပြန်ပို့သည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်နယ်ပယ်အမည်များကိုသက်ဆိုင်ရာ variable များသို့မဟုတ်မော်ဒယ်ဂုဏ်သတ္တိများသို့မြေပုံဆွဲရန်လိုအပ်သည်။ ကျွန်ုပ်တို့၏ဒေတာဘေ့စ်တွင် User_id , user_ user_name , အီးမေးလ် စသည့်နယ်ပယ်များပါ 0 င်သည့်အသုံးပြုသူဇယားတွင်အသုံးပြုသူဇယားတွင်ဤဒေတာဘေ့စ်ကွက်လပ်များကို array ရှိ varied အမည်များအဖြစ်သို့ရောက်ရန် array_combeind function ကိုသုံးနိုင်သည်။
<?php
// ဒေတာဘေ့စလယ်ကွင်းအမည်
$fields = ['user_id', 'user_name', 'email'];
// သက်ဆိုင်ရာမော်ဒယ်ဂုဏ်သတ္တိများ
$modelAttributes = ['id', 'name', 'emailAddress'];
// အသုံးပြု array_combine လယ်ကွင်းမြေပုံရေးဆွဲရေးဆက်ဆံရေးကိုတည်ဆောက်ခြင်း
$fieldMap = array_combine($fields, $modelAttributes);
// ရလဒ်ရလဒ်
print_r($fieldMap);
?>
Array
(
[user_id] => id
[user_name] => name
[email] => emailAddress
)
ဤဥပမာတွင် $ fields array တွင်ဒေ တာ ဘေ့စ်ရှိနယ်ပယ်အမည်များပါ 0 င်သည်။ array_comboine function ကိုမှတစ်ဆင့်ဤ arrays နှစ်ခုကိုကျွန်ုပ်တို့အောင်မြင်စွာပေါင်းစပ်ထားပြီးနယ်ပယ်အမည်များနှင့် attribute အမည်များအကြား မြေပုံ ပြောဆိုမှုကိုသတ်မှတ်သည်။
ဒေတာဘေ့စ်လုပ်ငန်းစဉ်အတွင်းကျွန်ုပ်တို့သည်ဒေတာများကိုလယ်ကွင်းအမည်ဖြင့်အချက်အလက်များကိုရယူပြီးပုံစံ၏သက်ဆိုင်ရာ attribute များသို့အချက်အလက်များကိုသတ်မှတ်ပေးသည်။ လွယ်ကူသောစစ်ဆင်ရေးအတွက်လယ်ကွင်းအမည်များနှင့်မော်ဒယ် attribute များအကြားမြေပုံနှင့်အတူမြေပုံပြောဆိုခြင်းသည်ကြိုတင်သတ်မှတ်ထားနိုင်သည်။
<?php
// ကျွန်ုပ်တို့ဒေတာဘေ့စ်မှအသုံးပြုသူမှတ်တမ်းကိုရရှိပါသည်ဆိုပါစို့
$userData = [
'user_id' => 1,
'user_name' => 'John Doe',
'email' => 'johndoe@m66.net'
];
// ဒေတာဘေ့စလယ်ကွင်းနှင့်မော်ဒယ် attribute များအကြားမြေပုံဆိုင်ရာဆက်ဆံရေး
$fieldMap = array_combine(['user_id', 'user_name', 'email'], ['id', 'name', 'emailAddress']);
// အသုံးပြု映射关系赋值到模型属性
$userModel = new UserModel();
foreach ($fieldMap as $dbField => $modelField) {
if (isset($userData[$dbField])) {
$userModel->$modelField = $userData[$dbField];
}
}
print_r($userModel);
?>
ဤဥပမာတွင်ဒေတာဘေ့စ် (array $ userdata ) မှအသုံးပြုသူမှတ်တမ်းကိုရရှိပါသည်။ ထို့နောက်ကျွန်ုပ်တို့သည် field attribute များ $ fieldmap အကြားမြေပုံပြောဆိုမှုကိုဖန်တီးရန် array_combine ကို အသုံးပြုသည်။ ထို့နောက်ကွင်းဆက်တစ်ခုမှတဆင့်အချက်အလက်များကိုမြေပုံရေးဆွဲခြင်းနှင့်အညီ Usermodel ၏သက်ဆိုင်ရာ attribute သို့အချက်အလက်များကိုသတ်မှတ်သည်။
စုံစမ်းမှုတစ်ခုတည်ဆောက်ရာတွင်တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်မော်ဒယ် attribute တွေကိုဒေတာဘေ့စ်လယ်ကွင်းအမည်ကိုပြောင်းလဲရန်လိုအပ်သည်။ ဥပမာအားဖြင့်အသုံးပြုသူတစ် ဦး သည်ရှာဖွေမှုအခြေအနေကိုတင်ပြသောစုံစမ်းမှုအခြေအနေကိုတင်ပြသည်။ ၎င်းသည်ပုံစံအမျိုးမျိုးအိမ်ခြံမြေတစ်ခုဖြစ်သည်။
<?php
// မော်ဒယ် attribute တွေနဲ့ဒေတာဘေ့စလယ်ကွင်းအကြားမြေပုံရင်းနှီးမြုပ်နှံမှု
$fieldMap = array_combine(['user_id', 'user_name', 'email'], ['id', 'name', 'emailAddress']);
// အသုံးပြုသူမှထည့်သွင်းထားတဲ့စုံစမ်းမှုအခြေအနေများ
$userInput = [
'name' => 'John Doe',
'emailAddress' => 'johndoe@m66.net'
];
// 将模型属性转换为ဒေတာဘေ့စလယ်ကွင်းအမည်
$queryConditions = [];
foreach ($userInput as $modelField => $value) {
if (in_array($modelField, $fieldMap)) {
$dbField = array_search($modelField, $fieldMap);
$queryConditions[$dbField] = $value;
}
}
// output ကို database field query အခြေအနေများ
print_r($queryConditions);
?>
Array
(
[user_name] => John Doe
[email] => johndoe@m66.net
)
Array_combine မှတဆင့်အသုံးပြုသူမှထည့်သွင်းထားသောမော်ဒယ် attribute များကို database field name သို့ $ queryconditions ကိုဖွဲ့စည်းရန်ပြောင်းလဲခြင်း။
array_comboine function ကိုအသုံးပြုခြင်းသည်ဒေတာဘေ့စ်လယ်ကွင်းများနှင့်မော်ဒယ်ဂုဏ်သတ္တိများအကြားမြေပုံပြောဆိုမှုကိုလွယ်ကူစေရန်လွယ်ကူသည်။ ၎င်းသည်ကုဒ်၏ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုပိုမိုကောင်းမွန်စေရုံသာမကဒေတာဘေ့စ်များအကြားမြေပုံပြုပြင်ပြောင်းလဲမှုများကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်စွာကိုင်တွယ်ရန်လည်းကူညီသည်။
ဒီဆောင်းပါးမှာဥပမာတွေကတော့ဒေတာဘေ့စ်နယ်ပယ်တွေနဲ့မော်ဒယ်ဂုဏ်သတ္တိများအကြားမြေပုံရင်းနှီးမြုပ်နှံမှုကိုတည်ဆောက်ဖို့ array_combine ကို ဘယ်လိုအသုံးပြုရမယ်ဆိုတာငါယုံကြည်တယ်။