PHP, array_slice () နှင့် array_filter () နှင့် array_filter () တွင်အသုံးများသောခင်းကျင်းရေးလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ တစ်ခုမှာ array တစ်ခု၏အစိတ်အပိုင်းတစ်ခု၏အစိတ်အပိုင်းတစ်ခုကြားဖြတ်ရန်အသုံးပြုသည်။ အခြားတစ်ခုသည်စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသော array တွင် element များကို filter လုပ်ရန်အသုံးပြုသည်။ ကျွန်ုပ်တို့သည်အချက်အလက်များကိုလုပ်ဆောင်သောအခါဤလုပ်ဆောင်ချက်နှစ်ခုကိုအတူတကွအသုံးပြုရန်လိုအပ်သည်။ ဒါပေမယ့်မင်းဒါကိုစဉ်းစားဖူးလား
အဖြေမှာ - ဟုတ်ပါသည်, အမှာစာသည်ရလဒ်များကိုအကျိုးသက်ရောက်လိမ့်မည် ။ အချို့မှာအခြေအနေများတွင်အကျိုးသက်ရောက်မှုအလွန်ကြီးမားသည်။
array_filter (array $ array, callable | NULL $ callback = null): array
callback function ကိုအားဖြင့် filtered array ကိုပြန်သွားပါ။ အကယ်. callback function ကိုမကုန်တော့ပါက PHP သည်မှားယွင်းသောတန်ဖိုးကို မှားယွင်းသော ( 0 , '0 အပါအ 0 င်) မှ မှားယွင်းသော တန်ဖိုးရှိ (0),
array_slice (array $ array, int $ unraset, int $ အရှည် = null $ အရှည် = NULL $ + bool, bool $ present_keys = false
ခင်းကျင်းအတွင်းရှိခွဲဝေမှုတစ်ခုခင်းကျင်းမှုကိုပြန်ပို့သည်။ အနုတ်လက်ခဏာ offsets ကိုထောက်ပံ့သည်။ မူရင်းသော့ကိုဆက်လက်ထိန်းသိမ်းရန်သင့်ကိုရွေးချယ်နိုင်သည်။
ကျနော်တို့ကအောက်ပါခင်းကျင်းရှိသည်ဆိုပါစို့:
$data = [0, 1, 2, 3, 4, 5];
ကျနော်တို့အောက်ပါလုပ်ဖို့လိုအပ်:
2 ထက်ကြီးသောတန်ဖိုးများနှင့်အတူဒြပ်စင်ထွက်စစ်ထုတ်;
filtered ရလဒ်မှပထမ ဦး ဆုံးဒြပ်စင်နှစ်ခုယူပါ။
$filtered = array_filter($data, function($item) {
return $item > 2;
});
$result = array_slice($filtered, 0, 2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[3] => 3
[4] => 4
)
ဤနေရာတွင် output သည် 2 ခုထက်သာလွန်သောဒြပ်စင်များကိုထုတ်ယူရန်ဖြစ်သည်ကိုသတိပြုပါ။ Presister_Keys ကိုမသတ်မှတ်ပါ က array_slice ကို reiseexed ( definition ၏ပုံမှန်အပြုအမူ) နှင့် output ကိုဖြစ်လိမ့်မည်။
$result = array_slice(array_values($filtered), 0, 2);
ထုတ်လုပ်မှု -
Array
(
[0] => 3
[1] => 4
)
$sliced = array_slice($data, 0, 4);
$result = array_filter($sliced, function($item) {
return $item > 2;
});
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[3] => 3
)
ဤတွင်ကျွန်ုပ်တို့သည်ပထမ ဦး ဆုံး 4 ဒြပ်စင် (0, 1, 2, 3) ကိုယူပြီး 2 ထက်ကြီးသည့်အရာများကိုစစ်ဆေးပါ။ ရလဒ်တစ်ခုတည်းသာရှိသည် ။
အကယ်. သင်သည်စံနှုန်းနှင့်ကိုက်ညီသောဒြပ်စင်များအားလုံးမှပထမရလဒ်များကိုယူလိုပါက array_fileter ပထမ ဦး စွာ array_slice ။
အကယ်. သင်သည်မူလခင်းကျင်းမှုရှိပထမ ဦး ဆုံးပစ္စည်းများမှသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောပစ္စည်းများကိုစစ်ထုတ်လိုပါက array_slice ပထမ, array_filter ။
အထူးသဖြင့်ပုဂ်မြင်, ဒေတာစီးဆင်းမှုကိုအကောင်းမြင်စေပြီး Datasets ကြီးများပြုပြင်သည့်အခါ၎င်းသည်အထူးသဖြင့်အရေးကြီးသည်။
သင့်တွင် API interface httpace interface တစ်ခုရှိသည်ဆိုပါစို့။ ခေါင်းစဉ်တွင် "PHP" သော့ချက်စာလုံးနှင့်ထိပ်ဆုံးပို့စ် 5 ခုကိုသင်စစ်ဆေးလိုသည်။
$response = file_get_contents('https://gitbox.net/api/posts');
$posts = json_decode($response, true);
$filtered = array_filter($posts, function($post) {
return strpos($post['title'], 'PHP') !== false;
});
$topFive = array_slice(array_values($filtered), 0, 5);
print_r($topFive);
ဤအရာသည်သင်အမှန်တကယ် "PHP ပါ 0 င်သောပို့စ်များအားလုံး၏ထိပ်ဆုံးငါးခု" ကိုအမှန်တကယ်ရရှိရန်သေချာစေသည်။
အပြန်အလှန်အားဖြင့်သင်သည် "PHP" ပါ 0 င်သူများကို "PHP" ပါ 0 င်သောပထမ 10 ခုမှသာစစ်ထုတ်လိုပါက -
$topTen = array_slice($posts, 0, 10);
$filtered = array_filter($topTen, function($post) {
return strpos($post['title'], 'PHP') !== false;
});
print_r($filtered);
ကွဲပြားခြားနားသောအမိန့်, ရလဒ်များအလွန်ကွဲပြားခြားနားလိမ့်မည်။
Filter First ထို့နောက် Intercept ကို "အချက်အလက်အားလုံး၏ပိုမိုနှစ်သက်သောအစိတ်အပိုင်းများ" နှင့်သက်ဆိုင်သည်။
Intercept ပထမ ဦး ဆုံးအနေဖြင့် "filtering မတိုင်မီဒေတာများ၏ယခင်အပိုင်းကိုကန့်သတ်ခြင်း" အတွက်သင့်လျော်သည်။
array_slice နှင့် array_file_filter ကိုအသုံးပြုခြင်းကိုအသုံးပြုသောအခါသင်၏ပစ်မှတ်ဆိုင်ရာအချက်အလက်များ၏နယ်ပယ်ကိုရှင်းလင်းရန်နှင့်ယုတ္တိအမှားများကိုရှောင်ရှားရန်နှင့်မမျှော်လင့်သောရလဒ်များကိုရှောင်ရှားရန်သင့်ရဲ့ပစ်မှတ်ထားသောအချက်အလက်များကိုရှင်းလင်းရမည်။