PHP တွင် ARRAY_CONOUND function ကို MultidimenSAlal Array မှအချက်အလက်များကိုထုတ်ယူရန်အသုံးပြုသည်။ ပုံမှန်အားဖြင့်၎င်းသည်အချို့သောအကာအကွယ်တစ်ခုသို့မဟုတ်တန်ဖိုးတစ်ခုစီ၏တန်ဖိုးကိုခင်းကျင်းစွာထုတ်ယူရန်အသုံးပြုသည်။ ရိုးရှင်းသောတပ်ဆင်မှုများနှင့်ဆက်ဆံရာတွင်ဤလုပ်ဆောင်ချက်သည်ကောင်းမွန်စွာအလုပ်လုပ်သော်လည်းအရာဝတ်ထုဂုဏ်သတ္တိများကိုဖြည်ရန်ကြိုးစားသောအခါပြ problems နာအချို့ကိုကြုံတွေ့ရနိုင်သည်။ ဤဆောင်းပါးသည်ဤပြ problems နာများကိုအသေးစိတ်ဖော်ပြရန်နှင့်သူတို့၏ဖြေရှင်းချက်များကိုဆန်းစစ်ပါလိမ့်မည်။
array_column function ကိုအရာဝတ်ထုမဟုတ်ဘဲ Arrays အပေါ်အခြေခံပြီးဒီဇိုင်းရေးဆွဲထားသည်။ ရိုးရှင်းသော associative arrays များအတွက် Array_colum သည် ကောင်းမွန်စွာအလုပ်လုပ်သည်, ဘာကြောင့်လဲဆိုတော့ array_column က Extract လုပ်ဖို့ Array ရဲ့သော့ချက်ဒါမှမဟုတ်ကွက်လပ်တစ်ခုလိုအပ်ပေမယ့်အရာဝတ်ထုမှာ array တစ်ခုလိုအဓိကတန်ဖိုးထားတဲ့ဖွဲ့စည်းပုံမရှိဘူး။
ကျွန်ုပ်တို့တွင်အရာဝတ်ထုတစ်ခုစီရှိပြီးအရာဝတ်ထုတစ်ခုစီ၏အ မည် attribute ကိုထုတ်ယူလိုသည်ဆိုပါစို့။
<?php
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$people = [
new Person('Alice', 30),
new Person('Bob', 25),
new Person('Charlie', 35)
];
$names = array_column($people, 'name'); // ဒီမှာကျရှုံးလိမ့်မယ်
print_r($names);
?>
ထုတ်လုပ်မှု -
Warning: array_column() expects parameter 1 to be array, object given in ...
အပေါ်ကပြထားတဲ့အတိုင်း array_colum ဟာ အမှား တစ်ခုကြုံတွေ့ရပြီး array တစ်ခုမျှော်လင့်ထားတာကိုသတိပေးခံရတာပါပဲ,
ဤပြ problem နာကိုဖြေရှင်းရန်နည်းလမ်းများစွာရှိသည်။ ဒီမှာဘုံနည်းလမ်းနှစ်ခုရှိပါတယ်:
ပထမ ဦး စွာကျွန်ုပ်တို့သည်အရာဝတ်ထုများကိုအပေါင်းအသင်းတစ်ခုသို့ပြောင်းလဲနိုင်သည်။ JSON_DECode နှင့် JSONS_COCTODEDED ကို လျင်မြန်စွာ ပြောင်းလဲနိုင်သည်။
$peopleArray = array_map(function($person) {
return get_object_vars($person); // အရာဝတ်ထုများကို arrays သို့ပြောင်းပါ
}, $people);
$names = array_column($peopleArray, 'name');
print_r($names);
ထုတ်လုပ်မှု -
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
ဤနည်းလမ်းသည်အရာဝတ်ထုတစ်ခုစီကို array တစ်ခုထဲသို့ပြောင်းလဲပြီးပုံမှန်အားဖြင့် Properties ကို extract လုပ်ရန် array_column ကို သုံးနိုင်သည်။
အရာဝတ်ထုတစ်ခုလုံးကိုအပေါင်းအသင်းတစ်ခုအဖြစ်ပြောင်းလဲလိုပါကအရာဝတ်ထုတစ်ခုစီ၏ဂုဏ်သတ္တိများကိုကိုယ်တိုင်ထုတ်ယူရန် array_map ကို သုံးနိုင်သည်။
$names = array_map(function($person) {
return $person->name; // အရာဝတ်ထုရဲ့ဂုဏ်သတ္တိများမှတိုက်ရိုက်ဝင်ရောက်ခွင့်
}, $people);
print_r($names);
ထုတ်လုပ်မှု -
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
ဤနည်းလမ်းသည်အရာဝတ်ထုများကိုတိုက်ရိုက်သုတ်သင်ပယ်ရှင်းခြင်းနှင့်ဂုဏ်သတ္တိများကိုထုတ်ယူသည်။
PHP တွင် array_column သည် Multidimensional Array များမှသတ်မှတ်ထားသောကော်လံများကိုထုတ်ယူရန်အတွက်အလွန်အဆင်ပြေသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သို့သော်ကျွန်ုပ်တို့သည်အရာဝတ်ထုတစ်ခု၏ခင်းကျင်းမှုတစ်ခုမှဂုဏ်သတ္တိများကိုထုတ်ယူရန်ကြိုးစားသည့်အခါ array_colum သည် array-based စစ်ဆင်ရေးများကိုသာထောက်ပံ့ပေးသောကြောင့်တိုက်ရိုက်အလုပ်မလုပ်ပါ။ အရာဝတ်ထုများကို array များထဲသို့ပြောင်းလဲခြင်းသို့မဟုတ်အမည်မသိလုပ်ဆောင်ချက်များဖြင့် array_map ကို အသုံးပြု. ဤပြ problem နာကိုဖြေရှင်းနိုင်သည်။
အရာဝတ်ထုများကိုပြုပြင်ပြောင်းလဲရန်အတွက်အမှားအယွင်းများကိုရှောင်ရှားနေစဉ်ဤဆောင်းပါးသည် array_column ကို အသုံးပြု. array_column ကို အသုံးပြု. array_colnum ကိုအသုံးပြုရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။