လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_filter () ကိုအသုံးပြုနည်း () ကိုရိုးရှင်းသောရှာဖွေရေး filtering ကိုအကောင်အထည်ဖော်ရန်

array_filter () ကိုအသုံးပြုနည်း () ကိုရိုးရှင်းသောရှာဖွေရေး filtering ကိုအကောင်အထည်ဖော်ရန်

M66 2025-06-03

PHP တွင် array_filter () သည် အချို့သောအခြေအနေများအပေါ် အခြေခံ. array မှအချက်အလက်များကိုစစ်ထုတ်ရန်အသုံးပြုသောအလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်အခြေခံရှာဖွေရေးနှင့်စီစစ်ခြင်းလုပ်ငန်းကိုအကောင်အထည်ဖော်ရန် array_filter () ကို မည်သို့အသုံးပြုရမည်ကိုသရုပ်ပြရန်ရိုးရှင်းသောဥပမာကိုအသုံးပြုလိမ့်မည်။

array_filter () ?

array_filter () သည် element များကို array တစ်ခုအတွင်းစစ်ထုတ်ရန် built-in function တစ်ခုဖြစ်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array

အတွက်

  • $ array : filtered ခံရဖို့ Array;

  • $ callback : element တစ်ခုချင်းစီကိုထိန်းသိမ်းထားခြင်းရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသော callback function ကို;

  • $ mode : callback function ကိုသော့ချက်တန်ဖိုး, သော့ချက်အမည်, ဒါမှမဟုတ်နှစ်ခုလုံးကိုလက်ခံရရှိမလားဆိုတာကိုသတ်မှတ်ဖို့ optional parameter သည် optional parameter သည်။

အကယ်. callback function ကိုမကုန်တော့ပါက array_filter () သည် မှားယွင်းသော တန်ဖိုးရှိ ( Null , false strings strings, 0 င်အပါအဝင် element များကိုဖယ်ရှားလိမ့်မည်။

နမူနာ scame: ရှာဖွေရေးထုတ်ကုန်စာရင်း

ကျွန်ုပ်တို့တွင်ထုတ်ကုန်စာရင်းတစ်ခုရှိသည်ဆိုပါစို့, ထုတ်ကုန်တစ်ခုစီသည် နာမည် နှင့် အမျိုးအစား ပါ 0 င်သည့် array item တစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည်သော့ချက်စာလုံးပေါ်တွင် အခြေခံ. ထုတ်ကုန်အမည်ဖြင့်စကားလုံးနှင့်အတူထုတ်ကုန်များကိုရှာဖွေလိုသည်။

 $products = [
    ['name' => 'iPhone 15', 'category' => 'electronics'],
    ['name' => 'MacBook Pro', 'category' => 'electronics'],
    ['name' => 'Espresso Machine', 'category' => 'home appliances'],
    ['name' => 'Running Shoes', 'category' => 'fashion'],
    ['name' => 'iPhone Case', 'category' => 'accessories'],
];

အသုံးပြုသူများသည် URL မှတစ်ဆင့်ရှာဖွေရေးသော့ချက်စာလုံးများဖြင့်ဖြတ်သန်းသွားသည်။

 // နမူနာ URL:https://m66.net/search.php?keyword=iphone
$keyword = isset($_GET['keyword']) ? strtolower(trim($_GET['keyword'])) : '';

ထို့နောက် array_filter () ကိုရှာဖွေရန်:

 $filteredProducts = array_filter($products, function ($product) use ($keyword) {
    return strpos(strtolower($product['name']), $keyword) !== false;
});

နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည် filtered product list ကို output လုပ်နိုင်သည်။

 foreach ($filteredProducts as $product) {
    echo "<p>" . htmlspecialchars($product['name']) . " - " . htmlspecialchars($product['category']) . "</p>";
}

နမူနာကုဒ်အပြည့်အစုံ

 <?php
// products.php
$products = [
    ['name' => 'iPhone 15', 'category' => 'electronics'],
    ['name' => 'MacBook Pro', 'category' => 'electronics'],
    ['name' => 'Espresso Machine', 'category' => 'home appliances'],
    ['name' => 'Running Shoes', 'category' => 'fashion'],
    ['name' => 'iPhone Case', 'category' => 'accessories'],
];

$keyword = isset($_GET['keyword']) ? strtolower(trim($_GET['keyword'])) : '';

$filteredProducts = array_filter($products, function ($product) use ($keyword) {
    return strpos(strtolower($product['name']), $keyword) !== false;
});
?>
<!DOCTYPE html>
<html>
<head>
    <title>ရှာဖွေမှုရလဒ်များ - m66.net</title>
</head>
<body>
    <h1>ရှာဖွေမှုရလဒ်များ</h1>
    <?php if (empty($keyword)): ?>
        <p>ကျေးဇူးပြု. ရှာဖွေရေးသော့ချက်စာလုံးများထည့်ပါ。</p>
    <?php elseif (empty($filteredProducts)): ?>
        <p>မတွေ့ရှိပါ“<?php echo htmlspecialchars($keyword); ?>”ဆက်စပ်ထုတ်ကုန်များ。</p>
    <?php else: ?>
        <?php foreach ($filteredProducts as $product): ?>
            <p><?php echo htmlspecialchars($product['name']); ?> - <?php echo htmlspecialchars($product['category']); ?></p>
        <?php endforeach; ?>
    <?php endif; ?>
</body>
</html>

အကျဉ်းချုပ်

array_filter () သည် PHP တွင်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ အမည်မသိလုပ်ဆောင်ချက်များနှင့် syntax ကို သုံးခြင်း အားဖြင့်ကျွန်ုပ်တို့သည်ပြောင်းလွယ်ပြင်လွယ်နှင့်အချိုရည် filtering ယုတ္တိဗေဒကိုလျင်မြန်စွာတည်ဆောက်နိုင်သည်။ အထက်ပါရှာဖွေမှုဥပမာသည်ရိုးရှင်းသောထုတ်ကုန်သို့မဟုတ်ဆောင်းပါးရှာဖွေရေးစနစ်အတွက်သင့်တော်သောလက်တွေ့ကျသောသေးငယ်သည့်အင်္ဂါရပ်တစ်ခုဖြစ်သည်။

အကယ်. သင်သည်ပေါ့ပါးသောရှာဖွေရေးရှာဖွေရေး module တစ်ခုတည်ဆောက်နေပါက array_filter () ကို ကြိုးစားကြည့်ပါ။