Funktionen array_walk_recursive

Funktionen array_walk_recursive anvender en given funktion på alle elementer i et flerdimensionelt array. Returnerer true ved vellykket gennemførelse eller false i tilfælde af en fejl. Som første parameter tager funktionen et array, og som andet - en callback.

To parametre sendes til callback. Som første parameter går værdien af array-elementet, og som andet - nøglen.

Arrayet, der sendes til funktionen, ændres ikke i sig selv. Men dette kan opnås ved at sende elementet som reference.

Syntaks

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

Eksempel

Lad os gennemgå et flerdimensionelt array og udskrive dets nøgler og elementer:

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

Resultat af kodekørsel:

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

Eksempel

Lad os gennemgå arrayet og kvadrere dets elementer:

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

Resultat af kodekørsel:

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

Se også

  • funktionen array_walk,
    som kalder en funktion for array-elementer
  • funktionen array_map,
    som anvender en funktion på array-elementer
  • funktionen array_filter,
    som filtrerer et array
  • funktionen array_reduce,
    som reducerer et array