array_walk_recursive Fonksiyonu
array_walk_recursive fonksiyonu, belirtilen
fonksiyonu çok boyutlu bir dizinin tüm elemanlarına uygular.
Başarılı olması durumunda true döndürür
veya bir hata oluşması durumunda false döndürür.
İlk parametre olarak fonksiyon
bir dizi, ikinci parametre olarak ise bir geri çağırım işlevi alır.
Geri çağırım işlevine iki parametre iletilir. İlk parametre olarak dizi elemanının değeri, ikinci parametre olarak ise anahtar iletilir.
Fonksiyona iletilen dizi kendi başına değişmez. Ancak bu, elemanın referans yoluyla iletilmesiyle sağlanabilir.
Sözdizimi
array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool
Örnek
Bir çok boyutlu diziyi dolaşalım ve anahtarlarını ve elemanlarını yazdıralım:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function($elem, $key) {
echo $key . ' ' . $elem . '<br>';
});
?>
Kodun çalıştırılmasının sonucu:
'a 1'
'b 2'
'd 3'
'e 4'
Örnek
Bir diziyi dolaşalım ve elemanlarının karesini alalım:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function(&$elem, $key) {
$elem = $elem ** 2;
});
var_dump($arr);
?>
Kodun çalıştırılmasının sonucu:
[
'a' => 1,
'b' => 4,
'c' => [
'd' => 9,
'e' => 16,
],
];
Ayrıca Bakınız
-
array_walkfonksiyonu,
bir dizi elemanları için fonksiyon çağırır -
array_mapfonksiyonu,
bir dizi elemanlarına fonksiyon uygular -
array_filterfonksiyonu,
bir diziyi filtreler -
array_reducefonksiyonu,
bir diziyi indirger