Funktsioon array_walk_recursive

Funktsioon array_walk_recursive rakendab antud funktsiooni kõikidele mitmemõõtmelise massiivi elementidele. Tagastab true edukal lõpetamisel või false vea korral Esimese parameetrina funktsioon võtab massiivi ja teise - callback-funktsiooni.

Callback-funktsioonile edastatakse kaks parameetrit. Esimese parameetrina läheb massiivi elemendi väärtus ja teise - võti.

Funktsioonile edastatud massiiv ise ei muutu. Kuid seda on võimalik saavutada viite abil.

Süntaks

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

Näide

Võtame läbi mitmemõõtmelise massiivi ja väljastame selle võtmed ja elemendid:

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

Koodi täitmise tulemus:

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

Näide

Võtame läbi massiivi ja tõstame selle elemendid ruutu:

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);
?>

Koodi täitmise tulemus:

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

Vaata ka

  • funktsiooni array_walk,
    mis kutsub funktsiooni massiivi elementide jaoks
  • funktsiooni array_map,
    mis rakendab funktsiooni massiivi elementidele
  • funktsiooni array_filter,
    mis filtreerib massiivi
  • funktsiooni array_reduce,
    mis ahendab massiivi