راکت
حل شده

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

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

ثبت پرسش جدید

پاسخ‌ها

25
ابوالفضل رجائی نسب
ابوالفضل رجائی نسب
@abol313

تخصص: برنامه نویس (laravel-backend-php)

بهترین پاسخ

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

$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;
});
ابوالفضل رجائی نسب
ابوالفضل رجائی نسب
@abol313

تخصص: برنامه نویس (laravel-backend-php)

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

آرمان طحان پور اردکانی
آرمان طحان پور اردکانی
@armantahanpour

تخصص: مدیر فروش

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

شاید پاسخ شما همین‌جا باشد

آرمان طحان پور اردکانی
آرمان طحان پور اردکانی
@armantahanpour

تخصص: مدیر فروش

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

ابوالفضل رجائی نسب
ابوالفضل رجائی نسب
@abol313

تخصص: برنامه نویس (laravel-backend-php)

۰۹۳۶۳۷۱۶۰۲۱

صفحه 2 از 2

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

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