Rumah >php教程 >php手册 >PHP数组函数array_walk()笔记

PHP数组函数array_walk()笔记

WBOY
WBOYasal
2016-06-13 09:23:56889semak imbas

PHP数组函数array_walk()笔记

定义和用法

array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。

典型情况下 function 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。

如果 function 函数需要的参数比给出的多,则每次 array_walk() 调用 function 时都会产生一个 E_WARNING 级的错误。这些警告可以通过在 array_walk() 调用前加上 PHP 的错误操作符 @ 来抑制,或者用 error_reporting()。

语法

array_walk(array,function,userdata...)

参数 描述
array 必需。规定数组。
function 必需。用户自定义函数的名称。
userdata 可选。用户输入的值,可作为回调函数的参数。

提示和注释

提示:您可以为函数设置一个或多个参数。

注释:如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用:&$value。(参见例子 3)

注释:将键名和 userdata 传递到 function 中是 PHP 4.0 新增加的。

例子 1

<?php
function myfunction($value, $key) {
	echo "The key $key has the value $value<br />";
}

$a = array("a" => "Cat", "b" => "Dog", "c" => "Horse");
array_walk($a, "myfunction");

输出:

The key a has the value Cat
The key b has the value Dog
The key c has the value Horse

例子 2

带有一个参数: 

<?php
function myfunction($value, $key, $p) {
	echo "$key $p $value<br />";
}

$a = array("a" => "Cat", "b" => "Dog", "c" => "Horse");
array_walk($a, "myfunction", "has the value");
?>

输出:

a has the value Cat
b has the value Dog
c has the value Horse

例子 3 

改变数组元素的值(请注意 &$value):(这种情况用的比较多!)

<?php
function myfunction(&$value, $key) {
	$value = "Bird";
}

$a = array("a" => "Cat", "b" => "Dog", "c" => "Horse");
array_walk($a, "myfunction");
print_r($a);

输出:

Array ( [a] => Bird [b] => Bird [c] => Bird )

您可能感兴趣的文章

  • PHP数组函数array_map()笔记
  • PHP 生成连续的数字(字母)数组函数range()分析,PHP抽奖程序函数
  • php在数组中查找某个值是否存在(in_array(),array_search(),array_key_exists())
  • php压入元素到数组头部(array_unshift的用法)
  • PHP去除数组中的空值元素(array_filter)
  • 如何删除PHP数组中的元素(unset,array_splice)?
  • php中数组的并集、交集和差集函数介绍
  • 用PHP函数memory_get_usage获取当前PHP内存消耗量以实现程序的性能优化
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn