array_walk_recursive funksiýasy
array_walk_recursive funksiýasy berlen
funksiýany köllemli massiwiň ähli elementlerine ulanýar.
Üstünlikli gutaran bolsa true ýa-da ýalňyşlyk ýüze
çykan bolsa false gaýtarýar.
Ilkinji parametr hökmünde funksiýa
massiwi, ikinjisi bolsa çagyryş funksiýasyny (kolbek) kabul edýär.
Çagyryş funksiýasyna iki parametr geçirilýär. Birinci parametr hökmünde massiwiň elementiniň bahasy, ikinjisi hökmünde bolsa açar (kliç) barýar.
Funksiýa geçirilen massiw özi üýtgemeýär. Emma muny elementleri salgy boyunça geçirmek arkaly gazanyp bolýar.
Sintaksis
array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool
MYSAL
Geliň köllemli massiw üstünden aýlanyp onuň açarlaryny we elementlerini çap edeliň:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function($elem, $key) {
echo $key . ' ' . $elem . '<br>';
});
?>
Kodyň ýerine ýetirilişiniň netijesi:
'a 1'
'b 2'
'd 3'
'e 4'
MYSAL
Geliň massiw üstünden aýlanyp onuň elementlerini kwadratyna götereliň:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function(&$elem, $key) {
$elem = $elem ** 2;
});
var_dump($arr);
?>
Kodyň ýerine ýetirilişiniň netijesi:
[
'a' => 1,
'b' => 4,
'c' => [
'd' => 9,
'e' => 16,
],
];
Şeýle-de Görüň
-
array_walkfunksiýasyny,
massiwiň elementleri üçin funksiýa çagyryşyny ýerine ýetirýär -
array_mapfunksiýasyny,
massiwiň elementlerine funksiýa ulanýar -
array_filterfunksiýasyny,
massiwi süzýär -
array_reducefunksiýasyny,
massiwi ýygnayar