ایمپورت کردن ماژول در اندروید استودیو
ایمپورت کردن ماژول در اندروید استودیو
2019-06-05
حذف تمام فاصله ها از رشته با جی کوئری JQuery
حذف تمام فاصله ها از رشته با جی کوئری JQuery
2019-06-14

آموزش تابع Array_filter در php همراه با مثال

آموزش تابع Array_filter در php همراه با مثال

آموزش تابع Array_filter در php همراه با مثال

آموزش تابع Array_filter در php ، در این پست از تجاری اپ آموزش کار با تابع array filter در php را به شما آموزش خواهیم داد.این تابع مقادیر یک آرایه را با استفاده از یک تابع فراخوانی(callback) فیلتر می کند. همچنین این تابع ، هر مقدار که در آرایه ورودی قرار می گیرد را به تابع فراخوانی(callback) پاس می دهد. اگر تابع فراخوانی مقدار true را بازگرداند ، مقدار فعلی از آرایه به آرایه نتیجه (result array) بازگردانده می شود. همچنین کلیدهای آرایه حفظ می شوند.

مروری اجمالی برآموزش کار با تابع array filter در php :

  1. مثالی از تابع Array_filter در php
    1. ARRAY_FILTER_USE_KEY
    2. ARRAY_FILTER_USE_BOTH
  2. دسترسی به کلید در تابع array_filter ()

مثالی از تابع فیلتر آرایه

این تابع مقادیر آرایه را با استفاده از تابع فراخوانی فیلتر می کند.همچنین این تابع هر مقدار از یک آرایه ورودی را به تابع فراخوانی می فرستد. اگر تابع فراخوانی مقدار true را برگرداند ، مقدار فعلی از آرایه به آرایه نتیجه (result array) برگردانده می شود. همچنین کلیدهای آرایه حفظ می شوند.

مثال زیر را مشاهده کنید:

<?php

function even($value)
{
  return $value % 2 == 0;
}

$arr = [1, 2, 3, 4, 5];
print_r(array_filter($arr,"even"));

در کد بالا ، ما زوج بودن عناصر آرایه رو بررسی می کنیم ، سپس هر عنصری از آرایه که فرد باشد فیلتر می شوند و از آرایه خارج می شوند و  تنها عناصری که زوج می باشند در آرایه باقی می مانند.

خروجی را در زیر مشاهده ی کنید:

Array
(
    [1] => 2
    [3] => 4
)

ما همچنین می توانیم تابع array_filter() را مانند زیر بنویسیم:

<?php

$arr = [1, 2, 3, 4, 5];
$output = array_filter($arr, function($value) {
  return $value % 2 == 0;  
});
print_r($output);

خروجی همانند بالا خواهد بود ما فقط یک تابع بی نام نوشتیم.

ARRAY_FILTER_USE_KEY

در php 5.6 پارامتر سومی به نام flag به تابع array_filter() اضافه شد ، که ما می توانیم آن را با ARRAY_FILTER_USE_KEY ست کنیم تا به جای اینکه فیلتر براساس مقدار انجام شود بر اساس کلید (key) انجام شود.

مثال زیر راببنید:

<?php

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
$outputA = array_filter($arr, function($k) {
  return $k == 'b';
}, ARRAY_FILTER_USE_KEY);
print_r($outputA);

خروجی را در زیر مشاهده ی کنید:

Array
(
    [b] => 2
)

ARRAY_FILTER_USE_BOTH

ما همچنین می توانیم ARRAY_FILTER_USE_BOTH را برای فیلتر کردن بر اساس کلید یا مقدار تنظیم کنیم.

مثال زیر را ببینید:

<?php

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

$outputB = array_filter($arr, function($v, $k) {
  return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH);
print_r($outputB);

خروجی را در زیر مشاهده ی کنید:

Array
(
    [b] => 2
    [d] => 4
)

دسترسی به کلید در تابع array_filter()

ما می توانیم به کلید فعلی آرایه با استفاده از فرستادن یک ارجاع به آرایه به تابع فراخوانی و صدا زدن متد key() و next() در تابع فراخوانی دسترسی پیدا کنیم.

مثال زیر را ببینید:

<?php

// app.php

$data = array('first' => 1, 'second' => 2, 'third' => 3);
$data = array_filter($data, function ($item) use (&amp;$data) {
    echo "Filtering key ", key($data)."\n";
    next($data);
});

خروجی را در زیر مشاهده ی کنید:

Filtering key first
Filtering key second
Filtering key third

امیدوارم این آموزش برای شما مفید بوده باشد.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *