array_walk() 函数

摘要:
array_ walk()函数将回调函数应用于数组中的每个元素。通常,函数接受两个参数。数组参数的值是第一个,键名称是第二个。如果函数需要的参数比给定的参数多,则每个数组在walk()调用函数时,将生成E警告级别错误。这些警告可以在调用walk()进行抑制之前显示在array_AddPHP error操作符@中,或者使用error_reporting()array_ walk参数描述数组是必需的。用户定义函数的名称。˃输出:ThekeyahashvalueCatThekeybhashvalueDogThekeychathevalueHorse示例2有一个参数:输出:a值C有值D有值马示例3更改数组元素的值:˂?

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 )

免责声明:文章转载自《array_walk() 函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇gin编写后端API的使用技巧数据结构学习——shell排序的C语言实现下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS异步编程

1.1 什么是异步 异步(async)是相对于同步(sync)而言的,很好理解。 同步就是一件事一件事的执行。只有前一个任务执行完毕,才能执行后一个任务。而异步是不用等待前一个任务执行完成也能够执行 比如: setTimeout(function(){ console.log(1); }, 1000); console.log(2);// 2...

【js学习】js连接RabbitMQ达到实时消息推送

js连接RabbitMQ达到实时消息推送 最近在自己捯饬一个网站,有一个功能是需要后端处理完数据把数据发布到MQ中,前端再从MQ中接收数据。但是前端连接MQ又成了一个问题,在网上搜了下资料,点进去一篇IBM DW后发现竟然是超哥写的,真是巧哈~因为超哥写的很好所以很多我就直接摘抄过来了,他应该不会介意的(逃。 参考 基于 RabbitMQ 的实时消息推送...

嵌入式&amp;amp;iOS:回调函数(C)与block(OC)传 参/函数 对比

C的回调函数: callBack.h 1)、声明一个doSomeThingCount函数,参数为一个(无返回值,1个int参数的)函数。 void DSTCount(void(*CallBack)(int data_i32)); callBack.c 1)、在doSomeThingCount函数,对运行次数自增,并调用参数--函数。 void DSTC...

C#细说多线程(下)

本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。 其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax或者在服务器端使用U...

C#综合揭秘——细说多线程(上)

引言   本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。   其中委托的BeginInvoke方法以及回调函数最为常用。   而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中,可能更多人只会留意在客户端使用Ajax...

nodeJS从入门到进阶一(基础部分)

一、Node.js基础知识 1、概念 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是JavaScript的运行环境 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 2、安装使用 官网下载地址:http://nodejs.cn/ nodeJS5个基本对象: 1、require 引...