در PHP با استفاده از تابع array_walk_recursive یک تابع بنویسید که در یک آرایه تو در تو از قیمت‌ها ۱۰٪ مالیات اضافه کند و آرایه جدید را بازگرداند.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:53

0.0

برای حل مسأله از array_walk_recursive استفاده کنید که مقدارها را به‌صورت مرجع می‌گیرد و امکان تغییر مقادیر درون آرایه‌های تو در تو را می‌دهد؛ در callback مقدارها را با is_numeric چک کنید، به float تبدیل کرده و ضربدر 1.10 کنید و در صورت نیاز округ نمایید؛ توجه داشته باشید که array_walk_recursive آرایه را مستقیماً تغییر می‌دهد پس اگر می‌خواهید نسخه اصلی حفظ شود ابتدا آرایه را کپی کنید. این روش در پردازش داده‌ها (مثلاً گزارش قیمتی) و توسعه وب (مثلاً آماده‌سازی خروجی JSON) کاربرد دارد و استفاده از closure با use برای انتقال پارامترهای اضافی و استفاده از json_encode/print_r برای نمایش خروجی می‌تواند مفید باشد.

توسط پژوهشگر در 202 روز قبل ساعت 02:53
دسته بندی ها: PHP PHP for beginner
nima در 202 روز قبل ساعت 08:13

نکته: چون array_walk_recursive آرایه را به‌طور مستقیم تغییر می‌دهد، برای حفظ نسخه اصلی ابتدا یک کپی عمیق از آرایه تهیه کنید و روی آن اقدام کنید. در callback مقدارها را با is_numeric بررسی کنید، آنها را به float تبدیل کنید و ضربدر 1.10 کنید تا 10% مالیات اضافه شود. توجه کنید که callback مقدار را به‌عنوان مرجع می‌گیرد بنابراین خروجی به‌روز می‌شود و برای نمایش خروجی می‌توانید از json_encode استفاده کنید. اگر قصد دارید تابع فقط خروجی جدید بدهد، پس از کپی‌برداری از آرایه اصلی، نتایج را بازگردانید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری