PHP တွင် Array_Flip () သည်အလွန်အဆင်ပြေသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည်အလွန်ရိုးရှင်းပြီးလက်တွေ့ကျသည်။ array_flip () တွင်ပါဝင်ခြင်းမရှိသောအဘယ်ကြောင့် arrays များကိုအဘယ်ကြောင့်မပြုလုပ်နိုင်ရသည့်အတွက်ဤဆောင်းပါးသည်အဘယ်ကြောင့်မပြုလုပ်နိုင်ရသည့်အတွက်အဘယ်ကြောင့်ရှာဖွေတွေ့ရှိနိုင်မည်နည်း။
$input = [
'apple' => 'red',
'banana' => 'yellow',
];
$flipped = array_flip($input);
print_r($flipped);
ထုတ်လုပ်မှု -
Array
(
[red] => apple
[yellow] => banana
)
အပေါ်ကပြထားတဲ့အတိုင်း Key-value အတွဲတွေကိုလဲလှယ်တာ, ပြ problem နာမရှိဘူး။ သို့သော် Key One ကိုသတိပြုပါ။ Flipped ခလုတ်သည်တရားဝင် array key တစ်ခုဖြစ်ရမည် , ၎င်းသည် int သို့မဟုတ် string type ဖြစ်သည်။
အရာဝတ်ထုများပါ 0 င်သောဥပမာတစ်ခုကိုကြည့်ကြစို့။
class User {
public $name;
function __construct($name) {
$this->name = $name;
}
}
$user1 = new User('Alice');
$user2 = new User('Bob');
$array = [
'u1' => $user1,
'u2' => $user2,
];
$flipped = array_flip($array);
ဤကုဒ်ကို run သောအခါ PHP သည်သတိပေးချက်တစ်ခုသို့မဟုတ်ဆိုးဝါးသောအမှားတစ်ခုပင်ပစ်လိမ့်မည်။
Warning: array_flip(): Can only flip STRING and INTEGER values!
အဘယ်ကြောင့်? ဘာဖြစ်လို့လဲဆိုတော့အရာဝတ်ထုတွေကို array လုပ်ဖို့သော့တွေလို့မသုံးနိုင်လို့ပဲ။ PHP ရှိခင်းကျင်းသောအဓိကအမျိုးအစားများကိုကိန်းနှင့်ကြိုးများကကန့်သတ်ထားသည်။ (အမည်မသိအတန်းများအပါအ 0 င်) အရာဝတ်ထုများသည်တရားဝင်အဓိကအမျိုးအစားများမဟုတ်ပါ။
$array = [
'a' => 'apple',
'b' => new stdClass(),
'c' => 'carrot'
];
$flipped = array_flip($array);
ထုတ်လုပ်မှု -
Warning: array_flip(): Can only flip STRING and INTEGER values!
တန်ဖိုးတစ်ခုသာလျှင်အရာဝတ်ထုတစ်ခုသာလျှင်ပင် array_flip () စစ်ဆင်ရေးတစ်ခုလုံးပျက်ပြားသွားလိမ့်မည်။ ၎င်းသည်သင့်အားသင်၏အချက်အလက်အားလုံးကိုဆုံးရှုံးစေလိမ့်မည်။
အကယ်. သင်သည်အရာဝတ်ထုများပါ 0 င်သောအရာဝတ်ထုများကိုလှန်လှောရန်လိုပါကဤလုပ်ငန်းစဉ်ကိုကိုယ်တိုင်ကိုင်တွယ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, သင်သည်အရာဝတ်ထု၏ပိုင်ဆိုင်မှုအချို့ကို အခြေခံ. inverted ခင်းကျင်းမှုကိုကိုယ်တိုင်ကိုယ်ကျတည်ဆောက်နိုင်သည်။
$array = [
'u1' => new User('Alice'),
'u2' => new User('Bob'),
];
$flipped = [];
foreach ($array as $key => $user) {
if ($user instanceof User) {
$flipped[$user->name] = $key;
}
}
print_r($flipped);
ထုတ်လုပ်မှု -
Array
(
[Alice] => u1
[Bob] => u2
)
ဤနည်းအားဖြင့် array_flip () ကို တိုက်ရိုက်အသုံးပြုမည့်အစားအရာဝတ်ထု၏ထူးခြားသော property ကို အခြေခံ. "Flip" function ကိုသင်အကောင်အထည်ဖော်နိုင်သည်။
Array_flip () သည်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ array တစ်ခုသည်သင် process တွင်အရာဝတ်ထုများသို့မဟုတ်အခြားအချက်အလက်များ (အရင်းအမြစ်များ, အရင်းအမြစ်များစသဖြင့်မသုံးနိုင်သည့်အခြားအချက်အလက်များသို့မဟုတ်အခြားအချက်အလက်အမျိုးအစားများပါ 0 င်သည်။ Code ၏အားကောင်းသောအဆင်သင့်သေချာစေရန်, သင်ခေါ်ဆိုခြင်းမပြုမီတန်ဖိုးအမျိုးအစားကိုအမြဲတမ်းအတည်ပြုသင့်သည်။