PHP Development တွင် array_flation () function ကို) function () function သည်သတ်မှတ်ထားသောအရှည်နှင့်သတ်မှတ်ထားသောတန်ဖိုးနှင့်ပြည့်စုံသော array တစ်ခုပြုလုပ်နိုင်သည့်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ဒေတာအဆောက်အအုံများကိုစတင်လုပ်ဆောင်ခြင်းသို့မဟုတ်ပုံမှန်တန်ဖိုးများကိုလျင်မြန်စွာစုစည်းသောအခါအထူးသဖြင့်အဆင်ပြေသည်။ သို့သော်ဤလုပ်ဆောင်ချက်နှင့်ပတ်သက်သည့်ဘုံမေးခွန်းမှာ "တစ် ဦး ကခင်းကျင်းမှုတစ်ခုမှာဘယ်လောက်ကြီးမားသလဲ။ အထက်မှာကန့်သတ်ချက်ရှိလား"
array_filtax ၏အခြေခံ syntax () function ကိုအောက်ပါအတိုင်းဖြစ်သည် -
array array_fill(int $start_index, int $count, mixed $value)
$ start_index : Array ၏အစအညွှန်း။
$ ရေတွက် : ဖြည့်ဖို့ဒြပ်စင်အရေအတွက်။
$ တန်ဖိုး - padding ၏တန်ဖိုး။
ရိုးရှင်းတဲ့ဥပမာတစ်ခုပေးပါက:
$result = array_fill(0, 5, 'm66.net');
print_r($result);
output ကို:
Array
(
[0] => m66.net
[1] => m66.net
[2] => m66.net
[3] => m66.net
[4] => m66.net
)
Array_fille () သည်သိသာထင်ရှားသည့်ကန့်သတ်ချက်များကိုမသတ်မှတ်နိုင်သော်လည်းအောက်ပါအချက်များကိုလိုက်နာသည်။
PHP သည်မှတ်ဉာဏ်အထိခိုက်မခံသောဘာသာစကားဖြစ်ပြီး array_flution မှဖြည့်ထားသောအချက်အလက်များ () သည်မှတ်ဉာဏ်တွင်တိုက်ရိုက်သိုလှောင်ထားသည့် array တစ်ခုဖြစ်သည်။ သင်နှင့်အတူကြီးမားသောခင်းကျင်းမှုတစ်ခုပြုလုပ်ရန်ကြိုးစားသောအခါ (သန်းပေါင်းများစွာသောဒြပ်စင်များ) မှသန်းပေါင်းများစွာသောဒြပ်စင်များ,
ဥပမာ, အောက်ပါဥပမာသည် PHP ကို "ခွင့်ပြုထားသောမှတ်ဉာဏ်အရွယ်အစားကုန်ပြီ" အမှားကိုပစ်ချနိုင်သည်။
$hugeArray = array_fill(0, 100000000, 'test'); // မှတ်သား:ကျေးဇူးပြုပြီးဒီကုဒ်ကိုထုတ်လုပ်မှုပတ် 0 န်းကျင်မှာမသုံးပါနဲ့!
PHP ၏ memory_limit သည် (128 သန်းသို့မဟုတ် 256 သန်း) သည်ပုံမှန်တန်ဖိုးကိုသတ်မှတ်ထားပါကအထက်ပါကုဒ်သည်အမှန်ပင်ကျရှုံးလိမ့်မည်။ ini_set () မှတဆင့်မှတ်ဉာဏ်ကန့်သတ်ချက်ကိုယာယီတိုးမြှင့်နိုင်သည်။
ini_set('memory_limit', '1G');
array_filling ၏ဒုတိယ pareter () $ အရေအတွက် သည်ကိန်းတစ်ခုဖြစ်ပြီးသီအိုရီအမြင့်ဆုံးမှာ php_int_max ဖြစ်သည်။ 64-bit စနစ်များတွင် Php_int_Max သည် 9.2 × 10 ^ 18 ဖြစ်သည်။
32-bit စနစ်များတွင် Php_int_MAX သည် ခန့်မှန်းခြေအားဖြင့် 2,147,483,647 (2.1 ဘီလီယံ) ရှိသော်လည်းသီအိုရီအရ၎င်းသည်သီအိုရီဖြစ်သည်။
PHP သည်အလိုအလျောက်ကြီးထွားလာနေသောခင်းကျင်းညွှန်းကိန်းများကိုအလိုအလျောက်ကြီးထွားလာသည်။
$weirdArray = array_fill(PHP_INT_MAX - 5, 10, 'value');
// ဒါကကျဲခင်းကိုဖန်တီးပေးတယ်,မှတ်ဉာဏ်တွေအများကြီးတက်ယူလိမ့်မည်。
PHP ကဒီလိုလုပ်ခြင်းကိုတားဆီးမှာမဟုတ်ဘူး, ဒါပေမယ့်ရလဒ်ကသင်မျှော်လင့်တာမဟုတ်ဘူး။
array_flate_fille () function တွင်သီအိုရီအရ "ဒြပ်စင်အရေအတွက်" မရှိပါ။ သို့သော် ဆာဗာမှတ်ဉာဏ်ဖြင့်ကန့်သတ်ထားသည် ။
ပုံမှန်အသုံးပြုမှုဆိုင်ရာဖြစ်ရပ်များတွင် ထောင်နှင့်ချီသောဒြပ်စင်များသို့ထောင်ပေါင်းများစွာသောဒြပ်စင်များကိုလက်ခံနိုင်ဖွယ်ရှိသည် ။
စူပါကြီးမားသောခင်းကျင်းမှုများကိုအဓိပ္ပါယ်မပြည့်စုံစွာဖြည့်ဆည်းရန် နှင့် scripts ၏မှတ်ဉာဏ်အသုံးပြုမှုကိုစောင့်ကြည့်ရန်အကြံပြုသည်။
အကယ်. သင်ပိုမိုပြောင်းလွယ်ပြင်လွယ်။ မှတ်ဉာဏ်ချွေတာဖွဲ့စည်းပုံလိုအပ်ပါကမီးစက် ( အထွက်နှုန်း ) သို့မဟုတ်အခြားပိုမိုပေါ့ပါးသည့်နည်းလမ်းများအသုံးပြုခြင်းကိုအသုံးပြုရန်စဉ်းစားပါ။
အကယ်. သင်သည် Paging Interfaces ၏စွမ်းဆောင်ရည် (သို့) APIs ၏စွမ်းဆောင်ရည်ကိုစစ်ဆေးရန်အတွက်စမ်းသပ်မှုအချက်အလက်များသို့မဟုတ် simulated data စာရင်းကိုတည်ဆောက်လိုပါက array_map နှင့် တွဲဖက်. အကောင်အထည်ဖော်ရန်အောက်ပါနည်းလမ်းကိုသုံးနိုင်သည်။
$users = array_fill(0, 1000, null);
$users = array_map(function($index) {
return [
'id' => $index,
'name' => "User_$index",
'profile' => "https://m66.net/user/$index"
];
}, array_keys($users));
print_r($users[0]);