توابع کار با آرایه ها در PHP

۸ اردیبهشت ۱۳۹۶

تابع array_combine

این تابع دو آرایه را گرفته و اولی را کلید و دومی مقدار آن کلید قرار می دهد به مثال زیر توجه کنید:

$keys = ['sky', 'grass', 'orange'];
$values = ['blue', 'green', 'orange'];

$array = array_combine($keys, $values);
print_r($array);

// Array
// (
//     [sky] => blue
//     [grass] => green
//     [orange] => orange
// )

تابع array_keys کلیدهای آرایه و تابع array_values مقادیر یک آرایه نشان می دهد و تابع array_flip جای کلیدها و مقدارها را عوض می کند به مثال زیر توجه کنید:

print_r(array_keys($array)); // ['sky', 'grass', 'orange']
print_r(array_values($array)); // ['blue', 'green', 'orange']
print_r(array_flip($array));

// Array
// (
//     [blue] => sky
//     [green] => grass
//     [orange] => orange
// )
تابع list

این تابع برای ریختن مقادیر یک آرایه به داخل متغیرها بکار می رود به مثال زیر توجه کنید:

    // define array
$array = ['a', 'b', 'c'];

// without list()
$a = $array[0];
$b = $array[1];
$c = $array[2];

// with list()
list($a, $b, $c) = $array;

همچنین با تابع explode می توانید یک رشته را به آرایه تبدیل کرده و داخل متغییر بریزید به مثال زیر توجه کنید:

$string = 'hello|wild|world';
list($hello, , $world) = explode('|', $string);
echo("$hello, $world"); // hello, world

همچنین از ترکیب foreach و list می توانید به شکل زیر استفاده کنید:

$arrays = [[1, 2], [3, 4], [5, 6]];

foreach ($arrays as list($a, $b)) {
    $c = $a + $b;
    echo($c . ', '); // 3, 7, 11,
}
تابع extract

از تابع extract می توانید برای تبدیل آرایه به متغیرهایی با مقادیر داخل آرایه استفاده کنید به مثال زیر توجه کنید:

$array = [
    'clothes' => 't-shirt',
    'size'    => 'medium',
    'color'   => 'blue',
];

extract($array);

echo("$clothes $size $color"); // t-shirt medium blue
تابع compact

تابع compact برعکس تابع extract کار می کند به مثال زیر توجه کنید:

$clothes = 't-shirt';
$size = 'medium';
$color = 'blue';

$array = compact('clothes', 'size', 'color');
print_r($array);

// Array
// (
//     [clothes] => t-shirt
//     [size] => medium
//     [color] => blue
// )
تابع array_filter

تابع array_filter برای فیلتر کردن آرایه بکار می رود به مثال زیر توجه کنید:

$numbers = [20, -3, 50, -99, 55];

$positive = array_filter($numbers, function($number) {
    return $number > 0;
});

print_r($positive); // [0 => 20, 2 => 50, 4 => 55]

تابع array_filter بدون تابع callback تمام مقادیر خالی را پاک می کند به مثال زیر توجه کنید:

$numbers = [-1, 0, 1];

$not_empty = array_filter($numbers);

print_r($not_empty); // [0 => -1, 2 => 1]
تابع array_unique

تابع array_unique مقادیر تکراری یک آریه را حذف می کند به مثال زیر توجه کنید:

$array = [1, 1, 1, 1, 2, 2, 2, 3, 4, 5, 5];
$uniques = array_unique($array);

print_r($uniques);

// Array
// (
//     [0] => 1
//     [4] => 2
//     [7] => 3
//     [8] => 4
//     [9] => 5
// )
تابع array_column

این تابع مقادیر یک ستون را نشان می دهد به مثال زیر توجه کنید:

$array = [
    ['id' => 1, 'title' => 'tree'],
    ['id' => 2, 'title' => 'sun'],
    ['id' => 3, 'title' => 'cloud'],
];

$ids = array_column($array, 'id');

print_r($ids); // [1, 2, 3]

در PHP7 این تابع بسیار قدرتمند تر کار می کند به مثال زیر توجه کنید:

$cinemas = Cinema::find()->all();
$cinema_ids = array_column($cinemas, 'id'); // php7 forever!
تابع array_map

با این تابع می توانید مقادیر آرایه ها را با یک pattern مشخص تغییر دهید به مثال زیر توجه کنید:

$cities = ['Berlin', 'KYIV', 'Amsterdam', 'Riga'];
$aliases = array_map('strtolower', $cities);

print_r($aliases); // ['berlin', 'kyiv, 'amsterdam', 'riga']

$numbers = [1, -2, 3, -4, 5];
$squares = array_map(function($number) {
    return $number ** 2;
}, $numbers);

print_r($squares);  // [1, 4, 9, 16, 25]

همچنین به شکل زیر می توانید از آن استفاده کنید:

$model = ['id' => 7, 'name'=>'James'];

$callback = function($key, $value) {
    return "$key is $value";
};

$res = array_map($callback, array_keys($model), $model);
print_r($res);

// Array
// (
//     [0] => id is 7
//     [1] => name is James
// )
تابع array_walk

تابع array_walk نیز می توان به شکل زیر استفاده کرد:

$fruits = [
    'banana' => 'yellow',
    'apple' => 'green',
    'orange' => 'orange',
];

array_walk($fruits, function(&$value, $key) {
    $value = "$key is $value";
});

print_r($fruits);

// Array
// (
//     [banana] => banana is yellow
//     [apple] => apple is green
//     [orange] => orange is orange
// )
تابع array_merge

تابع array_merge نیز برای merge کردن آرایه ها استفاده می شوند به مثال زیر توجه کنید:

    $array1 = ['a' => 'a', 'b' => 'b', 'c' => 'c'];
$array2 = ['a' => 'A', 'b' => 'B', 'D' => 'D'];

$merge = array_merge($array1, $array2);
print_r($merge);
// Array
// (
//     [a] => A
//     [b] => B
//     [c] => c
//     [D] => D
// )
توابع array_diff و array_intersect
$array1 = [1, 2, 3, 4];
$array2 =       [3, 4, 5, 6];

$diff = array_diff($array1, $array2);
print_r($diff); // [0 => 1, 1 => 2]

$intersect = array_intersect($array1, $array2);
print_r($intersect);  // [2 => 3, 3 => 4]

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(678)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}