25 پاسخ

فیلتر کردن یک آرایه چند سطحی بر اساس عناصر داخل یک آرایه دیگر

سلام دوستان ، ممنون میشم به من کمک کنید .
من توی برنامم می خوام یک آرایه چند سطحی را بر اساس عناصر داخل یک آرایه دیگه فیلتر کنم . ولی با کدی که نوشتم فقط عنصر آخر آرایه دوم رو در نظر میگیره و آرایه اول را برای من فیلتر میکنه .
بذارین کارکردی که انتظار دارم را هم براتون توضیح بدم که بهتر متوجه بشین شاید کلا دارم اشتباه میرم :
ببینین آرایه اول لیستی از محصولاته که مواردی برای منع مصرف محصول هم داخلشه ولیست بعدی موارد منع مصرف مشتریه . میخوام تک تک موارد منع مصرف مشتری توی لیست محصولات چک بشه و اون محصولاتی که اون منع مصرف ها را دارن حذف بشن و نهایتاً یک لیست محصول از محصولاتی که اون منع مصرف ها را ندارن به من برگردونه.

کدی که نوشتم اینه :

    $tosie_sobh = array_filter($product_sobh , function($item) use ($mane_masraf_moshtari){
        foreach ($mane_masraf_moshtari as $i) {
            if (is_string($i)==true){
                $n = explode(",",$i);
                foreach ($n as $m) {
                return  strstr($item['mane_masraf'],$m) == false ;  
            }}elseif ($i == null){ 
                $i='هیچی';
                return  strstr($item['mane_masraf'],$i) == false ; }else{
                return  strstr($item['mane_masraf'],$i) == false ;  }
        }
    });

@sinashahoveisi
@hesammousavi
@mohsenbostan


ثبت پرسش جدید
ابوالفضل رجائی نسب
تخصص : برنامه نویس (laravel-backend-p...
@abol313 2 سال پیش مطرح شد
0

ببین با همون مدل قبلی دیتابیست کار میکنه؟

$tosie_sobh = array_filter($product_sobh, function ($product) use ($mane_masraf_moshtari) {
    $product_mane_masraf = trim($product['mane_masraf']);
    if(empty($product_mane_masraf))
        return true;

    foreach ($mane_masraf_moshtari as $mane_moshtari) {
        if (empty($mane_moshtari))
            continue;
        if (is_string($mane_moshtari))
            foreach(explode(",", $mane_moshtari) as $mane)
                if(strstr($product_mane_masraf,trim($mane)))
                    return false;
    }
    return true;
});

ابوالفضل رجائی نسب
تخصص : برنامه نویس (laravel-backend-p...
@abol313 2 سال پیش مطرح شد
0

یک نکته جدید هم اضافه شده که منع ها تماما اون چیزهای ندیدنی شون هرس میشه یا همون trim واسه white space ها مثل فاصله، خط بعدی و...


ابوالفضل رجائی نسب
تخصص : برنامه نویس (laravel-backend-p...
@abol313 2 سال پیش مطرح شد
0

اگه حل شد که هیچی اما اگه هنوز حل نشده با anydesk کارو پیش ببریم بهتره


آرمان طحان پور اردکانی
تخصص : مدیر فروش
@armantahanpour 2 سال پیش مطرح شد
0

😍😍😍😍😍وای کاملا درست شد ...
نمیدونم چطوری ازتون تشکر کنم واقعااا
اشکمو در آورده بود 3 ، 4 روز بود . مطمئن نیستم درست فهمیده باشم ایراد کارم رو . میتونم توی واتساپ ازتون بخوام اشتباهم رو برام ویس کنید ؟


آرمان طحان پور اردکانی
تخصص : مدیر فروش
@armantahanpour 2 سال پیش مطرح شد
0

یک دنیا تشکر ممنون از وقتی که گذاشتید واقعا 🙏🙏🙏🙏


ابوالفضل رجائی نسب
تخصص : برنامه نویس (laravel-backend-p...
@abol313 2 سال پیش مطرح شد
0

۰۹۳۶۳۷۱۶۰۲۱


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام