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 функциясын,
    ал массивди талкалайт