دستور array_filter در زبان برنامهنویسی PHP یک تابع قدرتمند است که به شما امکان فیلتر کردن آرایهها را میدهد. با استفاده از این دستور، میتوانید یک آرایه را به عنوان ورودی دریافت کرده و موردنظر خود را بر اساس یک شرط خاص فیلتر کنید. نتیجهی نهایی این فیلترینگ، یک آرایه جدید است که فقط شامل عناصری است که شرط موردنظر را برآورده میکنند.
دستور array_filter تا حد زیادی شبیه به یک حلقه foreach عمل میکند، با این تفاوت که به جای حلقه، از یک تابع callback استفاده میکند. این تابع callback باید یک شرط بررسی کند و اگر عنصر فعلی آرایه شرط را برآورده کند، باید true برگرداند. در غیر این صورت، باید false برگرداند.
ساختار کلی تابع array_filter به صورت زیر است:
array_filter(array, callback)
در اینجا، پارامتر array نشاندهندهی آرایهای است که میخواهید فیلتر کنید. پارامتر callback نیز نشاندهندهی تابعی است که برای اعمال شرط فیلتر استفاده میشود.
مثال زیر نحوه استفاده از دستور array_filter را نشان میدهد:
در این مثال، ابتدا یک آرایه به نام numbers تعریف شده است که شامل اعداد ۱ تا ۱۰ است. سپس یک تابع به نام filterEven تعریف شده است که یک عدد را به عنوان ورودی دریافت میکند و بررسی میکند که آیا آن عدد زوج است یا خیر. اگر عدد زوج بود، true برگردانده میشود و در غیر این صورت false برگردانده میشود.
سپس با استفاده از تابع array_filter، آرایه numbers فیلتر میشود و فقط عناصری که شرط زوج بودن را برآورده میکنند، در آرایهی filteredNumbers قرار میگیرند. در نهایت، با استفاده از تابع print_r، آر