با استفاده از تابع 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 کنید و ورودی را برای داده‌های ناخواسته اعتبارسنجی نمایید.

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

برای جلوگیری از خطاها، در callback عنصرها را با ارجاع تغییر دهید و فقط مقادیر رشته‌ای را با trim پاک کنید، قبل از trim چک کنید مقدار رشته است. سپس اگر با is_numeric مقدار بررسی شود و مقدار قابل تبدیل باشد، آن را با (int) تبدیل کنید تا از تبدیل‌های ناخواسته جلوگیری شود. چون array_walk_recursive کلیدها را حذف نمی‌کند، به یک تابع بازگشتی یا استفاده از یک فراخوانی بازنشانه شده از array_filter برای حذف مقادیر خالی نیاز دارید. در نهایت خروجی را با json_encode و گزینه‌هایی مانند JSON_UNESCAPED_UNICODE آماده ارسال به API کنید و ورودی را قبل از پردازش اعتبارسنجی کنید.

گزارش

1 پاسخ

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

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