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