array_walk_recursive функциясы

array_walk_recursive функциясы берілген функцияны көпөлшемді массивтің барлық элементтеріне қолданады. Сәтті аяқталу жағдайында true мәнін немесе қате туындаған жағдайда false мәнін қайтарады. Бірінші параметр ретінде функция массивті қабылдайды, ал екіншісі - коллбэк.

Коллбэкке екі параметр жіберіледі. Бірінші параметр ретінде массив элементінің мәні жіберіледі, ал екіншісі - кілт.

Функцияға жіберілген массив өзі бойынша өзгермейді. Бірақ бұған сілтеме бойынша элемент жіберу арқылы қол жеткізуге болады.

Синтаксис

phparray_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool

Мысал

Көпөлшемді массивті айналып шығып, оның кілттері мен элементтерін шығарайық:

php<?php
  $arr = [
    'a' => 1,
    'b' => 2,
    'c' => [
      'd' => 3,
      'e' => 4,
    ],
  ];
  
  array_walk_recursive($arr, function($elem, $key) {
    echo $key . ' ' . $elem . '<br>';
  });
?>

Кодты орындау нәтижесі:

php'a 1'
'b 2'
'd 3'
'e 4'

Мысал

Массивті айналып шығып, оның элементтерін квадратқа шығарайық:

php<?php
  $arr = [
    'a' => 1,
    'b' => 2,
    'c' => [
      'd' => 3,
      'e' => 4,
    ],
  ];
  
  array_walk_recursive($arr, function(&$elem, $key) {
    $elem = $elem ** 2;
  });
  
  var_dump($arr);
?>

Кодты орындау нәтижесі:

php[
  'a' => 1,
  'b' => 4,
  'c' => [
    'd' => 9,
    'e' => 16,
  ],
];

Сондай-ақ қараңыз

  • array_walk функциясын,
    массив элементтері үшін функцияны шақырады
  • array_map функциясын,
    массив элементтеріне функцияны қолданады
  • array_filter функциясын,
    массивті сүзеді
  • array_reduce функциясын,
    массивті жинақтайды