با استفاده از تابع array_walk_recursive، یک آرایه چندبعدی شامل اطلاعات کاربران را پیمایش کنید تا همه مقادیر عددی را به عدد صحیح تبدیل کرده، رشتهها را trim کنید و سپس مقادیر خالی (رشتههای خالی یا NULL) را حذف و نتیجه را به صورت JSON آماده برای ارسال به یک API بازگردانید.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:54 0.0
برای این کار از array_walk_recursive با callback که مقدار را با ارجاع میگیرد استفاده کنید: داخل callback مقدار را با trim پاکسازی کنید و اگر is_numeric بود با (int) آن را تبدیل کنید. برای حذف مقادیر خالی باید یک تابع بازگشتی بنویسید که روی هر آرایه اعمال شود (یا از array_filter بهصورت بازگشتی استفاده کنید) چون array_walk_recursive توان حذف کلیدها را ندارد. در نهایت از json_encode و گزینههایی مانند JSON_UNESCAPED_UNICODE برای خروجی استفاده کنید؛ نکات مهم: مقدارها را با ارجاع تغییر دهید، قبل از cast چک is_numeric کنید و ورودی را برای دادههای ناخواسته اعتبارسنجی نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از خطاها، در callback عنصرها را با ارجاع تغییر دهید و فقط مقادیر رشتهای را با trim پاک کنید، قبل از trim چک کنید مقدار رشته است. سپس اگر با is_numeric مقدار بررسی شود و مقدار قابل تبدیل باشد، آن را با (int) تبدیل کنید تا از تبدیلهای ناخواسته جلوگیری شود. چون array_walk_recursive کلیدها را حذف نمیکند، به یک تابع بازگشتی یا استفاده از یک فراخوانی بازنشانه شده از array_filter برای حذف مقادیر خالی نیاز دارید. در نهایت خروجی را با json_encode و گزینههایی مانند JSON_UNESCAPED_UNICODE آماده ارسال به API کنید و ورودی را قبل از پردازش اعتبارسنجی کنید.
گزارش