PHP array_walk() 函数详解

Posted jiaoran

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP array_walk() 函数详解相关的知识,希望对你有一定的参考价值。

定义

array_walk - 对数组的每个元素应用自定义函数


描述

array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool

回调函数的参数,第一个是元素值,第二个是元素键名,第三个是可选的 $userdata

如果只想改变数组值,第一个参数可使用引用传递,即在参数前加上 &


示例

<?php
  $fruits = array("a" => "orange", "b" => "banana", "c" => "apple");

  function test_alter(&$item1, $key, $prefix)
  {
      $item1 = "$prefix: $item1";
  }

  function test_print($item2, $key)
  {
      echo "$key. $item2<br />
";
  }

  echo "Before ...:
";
  array_walk($fruits, ‘test_print‘);

  array_walk($fruits, ‘test_alter‘, ‘fruit‘);
  echo "... and after:
";

  array_walk($fruits, ‘test_print‘);
?>

将输出:

Before ...:
a. orange
b. banana
c. apple
... and after:
a. fruit: orange
b. fruit: banana
c. fruit: apple

总结

上面说如果想改变数组的值,必须使用引用传递,于是我想能不能不这样,直接使用返回值,测试了一下,是不行的,因为回调函数的返回值并没有用到,猜想此函数的目的主要在把数组的每个元素遍历一下,即 走 walk 一遍.


以上是关于PHP array_walk() 函数详解的主要内容,如果未能解决你的问题,请参考以下文章

PHP array_walk() 函数,对数组中应用自定义函数

php中array_walk() 和 array_map()两个函数区别

PHP:数组操作函数array_walk()和array_map()

PHP:数组操作函数array_walk()和array_map()

PHP:数组操作函数array_walk()和array_map()

PHP:数组操作函数array_walk()和array_map()