【基础】PHP中使用回调函数处理数组的函数有哪些

函数的回调是PHP中的一种特殊机制,这种机制允许在函数的参数列表中,传入用户自定义的函数地址作为参数处理或完成一定的操作。使用回调函数可以很容易地实现一些所需的功能。以下将介绍几个主要的使用回调函数处理数组的函数。

1、函数 array_filter()

array_filter()函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。其语法如下:

array_filter(array,callbackfunction);
在这里插入图片描述
函数使用的代码如下:

<?php
function myfunc($var){
	if($var%2 == 0){
		return true;
	}
}
$arr = array('a'=>1,'b'=>2,'c'=>3,'d'=>4);
print_r(array_filter($arr,'myfunc'));

// 输出结果:Array ( [b] => 2 [d] => 4 )
2、函数 array_walk()

array_walk() 函数对数组中的每个元素应用用户自定义函数。如果成功则返回 TRUE,否则返回 FALSE。其语法如下:

array_walk(array,myfunction,userdata……)
在这里插入图片描述
示例代码如下:

<?php
function myfunction($value,$key){
	echo "The key $key has the value $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");

/*输出结果:
The key a has the value red
The key b has the value green
The key c has the value blue
*/
// 传入第三个参数
function myfunction1($value,$key,$p){
	echo "$key $p $value<br>";
}
array_walk($a,"myfunction1",'has the value');
/*输出结果:
a has the value red
b has the value green
c has the value blue
 */
3、函数 array_map()

array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。与 array_walk() 函数相比,array_map() 函数可以处理多个数组。其语法如下:

array_map(myfunction,array1,array2,array3……)
在这里插入图片描述
该函数使用的示例代码如下:

<?php
function pursue($v){
  	return($v*$v);
}

$a=array(1,2,3,4,5);
print_r(array_map("pursue",$a));

//输出结果:
// Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )

function compare($v1,$v2){
	if($v1 == $v2){
		return 'same'; 
	}
	return 'different';
}
$a1 = array('Linux','PHP','MySQL');
$a2 = array('Unix','PHP','Oracle');
// 传入多个数组
print_r(array_map("compare",$a1,$a2));
//输出结果:
// Array ( [0] => different [1] => same [2] => different )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值