လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_flip () အရာဝတ်ထု arrays များပြုလုပ်ရန်အဘယ်ကြောင့်အသုံးမပြုနိုင်သနည်း။

array_flip () အရာဝတ်ထု arrays များပြုလုပ်ရန်အဘယ်ကြောင့်အသုံးမပြုနိုင်သနည်း။

M66 2025-05-17

PHP တွင် Array_Flip () သည်အလွန်အဆင်ပြေသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည်အလွန်ရိုးရှင်းပြီးလက်တွေ့ကျသည်။ array_flip () တွင်ပါဝင်ခြင်းမရှိသောအဘယ်ကြောင့် arrays များကိုအဘယ်ကြောင့်မပြုလုပ်နိုင်ရသည့်အတွက်ဤဆောင်းပါးသည်အဘယ်ကြောင့်မပြုလုပ်နိုင်ရသည့်အတွက်အဘယ်ကြောင့်ရှာဖွေတွေ့ရှိနိုင်မည်နည်း။

1 ။ array_flip ၏အခြေခံနိယာမ ()

 $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 ဖြစ်သည်။

2 ။ Array တစ်ခုမှာအရာဝတ်ထုတွေပါ 0 င်ပါကဘာဖြစ်မည်နည်း။

အရာဝတ်ထုများပါ 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 င်) အရာဝတ်ထုများသည်တရားဝင်အဓိကအမျိုးအစားများမဟုတ်ပါ။

3 ။ နောက်ထပ်ဥပမာ - ရောနှောထားသော arrays

 $array = [
    'a' => 'apple',
    'b' => new stdClass(),
    'c' => 'carrot'
];

$flipped = array_flip($array);

ထုတ်လုပ်မှု -

 Warning: array_flip(): Can only flip STRING and INTEGER values!

တန်ဖိုးတစ်ခုသာလျှင်အရာဝတ်ထုတစ်ခုသာလျှင်ပင် array_flip () စစ်ဆင်ရေးတစ်ခုလုံးပျက်ပြားသွားလိမ့်မည်။ ၎င်းသည်သင့်အားသင်၏အချက်အလက်အားလုံးကိုဆုံးရှုံးစေလိမ့်မည်။

4 ။ ၎င်းကိုလုပ်ရန်မှန်ကန်သောနည်းလမ်းကားအဘယ်နည်း။

အကယ်. သင်သည်အရာဝတ်ထုများပါ 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 ကိုသင်အကောင်အထည်ဖော်နိုင်သည်။

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

Array_flip () သည်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ array တစ်ခုသည်သင် process တွင်အရာဝတ်ထုများသို့မဟုတ်အခြားအချက်အလက်များ (အရင်းအမြစ်များ, အရင်းအမြစ်များစသဖြင့်မသုံးနိုင်သည့်အခြားအချက်အလက်များသို့မဟုတ်အခြားအချက်အလက်အမျိုးအစားများပါ 0 င်သည်။ Code ၏အားကောင်းသောအဆင်သင့်သေချာစေရန်, သင်ခေါ်ဆိုခြင်းမပြုမီတန်ဖိုးအမျိုးအစားကိုအမြဲတမ်းအတည်ပြုသင့်သည်။