حذف عنصر های خالی آرایه در پی اچ پی

حذف عنصر های خالی آرایه در پی اچ پی

چند وقت پیش در یک پروژه در حال ثبت یک فرم در دیتابیس بودم. در پی آن میخواستم مقادیر textarea در یک آرایه قرار بگیرد. با توجه به اطلاعات مورد نظرم خط های خالی این مقادیر برای کار من نیاز نبودند و بعضا در بررسی صحت کد های وارد شده اختلال ایجاد می کرد و در طول زمان حجم بیشتری در دیتابیس استفاده می شد. در ادامه از تابع زیر استفاده کردم و مقادیر خالی عنصر های آرایه را حذف کردم. تابع به شرح زیر است:

function remove_empty($array) {
	return array_filter($array, '_remove_empty_internal');
}

function _remove_empty_internal($value) {
	return !empty($value);
}

در صورتی که خواستید کاری شبیه به این کار فقط با مضمون دیگر انجام دهید کافیست تابع _remove_empty_internal را ویرایش کنید که برای مقادیر مجاز مقدار true و برای مقادیر غیر مجاز مقدار false را برگرداند. اگر به مثال زیر توجه کنید کاملا متوجه ساختار کد می شوید:

$a = array("", 1, 2, 3, 0);
print_r(remove_empty($a));

/* Result:
	Array
	(
		[1] => 1
		[2] => 2
		[3] => 3
	)
*/

 خط اول که یک آرایه با 5 عنصر تعریف کردیم (در پروژه مورد نظر مقادیر 0 و “” مد نظر من برای حذف شدن بود) در خط دوم آرایه را سپردیم به دست تابع دست نوشته، تابع مورد نظر با استفاده از تابع empty مقایسه را روی تک تک عناصر انجام می دهد و عناصری که مقدار false را برگردانند از آرایه حذف می شوند.

تا اینجا با ساختار و نوع استفاده از تابع array_filter آشنا شدید. در پایان به کد و نتیجه آن توجه کنید. این کد فقط با تابع array_filter، بدون توابع اضافی و با نتیجه یکسان نوشته شده است:

$a = array("", 1, 2, 3, 0);
print_r(array_filter($a));

/* Result:
	Array
	(
		[1] => 1
		[2] => 2
		[3] => 3
	)
*/

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.