یک تابع PHP بنویسید که با دریافت دو آرایه شناسه محصولات (آرایه موجودی و آرایه سبد خرید کاربر) با استفاده از array_diff، شناسههایی را که در موجودی هستند اما در سبد خرید نیستند برگرداند.
0.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:14 0.0
برای حل این مسئله از تابع array_diff استفاده کنید: نتیجه = array_diff($inventory, $cart). توجه داشته باشید array_diff مقایسه را بر اساس مقدار انجام میدهد و کلیدهای آرایهٔ اول را حفظ میکند، در صورت نیاز برای بازشماری کلیدها از array_values استفاده کنید. قبل از مقایسه مقادیر را نرمالسازی کنید (مثلاً با array_map('strval', ...)) یا از array_unique برای حذف تکراریها بهره ببرید تا نتایج دقیقتری در زمینههای پردازش دادهها یا فیلتر کردن ورودیهای وبسایت بهدست آورید؛ همچنین برای مقایسهٔ دقیق نوعها میتوانید از array_udiff با یک callback استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیدا کردن شناسههایی که در موجودی هستند اما در سبد خرید نیستند، از array_diff استفاده کنید: نتیجه برابر است با تفاوت موجودی و سبد. توجه کنید که array_diff کلیدهای آرایهٔ اول را حفظ میکند؛ اگر میخواهید خروجی از ۰ شروع شود، از array_values برای بازشماری استفاده کنید. بهتر است پیش از مقایسه مقادیر را نرمالسازی کنید (مثلاً به رشته تبدیل کنید یا مقادیر را واحد کنید) یا از array_unique برای حذف تکراریها؛ همچنین برای حساسیت بیشتر نسبت به نوع دادهها میتوانید از array_udiff با callback استفاده کنید.
گزارش