博客列表 >回调函数处理数组

回调函数处理数组

勇往直前
勇往直前原创
2018年03月28日 23:35:17933浏览

实例

<?php
//用回调函数操作数组
//1.array_filter($array,callback)将数组元素依次传入到回调函数中处理
// 将数组中的值依次逐个传入到回调函数中处理,只有处理结果为true的元素才允许出现在结果数组中
$arr = [1,2,3,4,5,6,7,8,9];
//首先写好两个处理函数
function odd($n){
	return $n%2==1;
}

function even($n){
	return $n%2==0;
}

$newArr = array_filter($arr,'even');
echo '<pre>';
print_r($newArr);

// 2.array_walk($array,callback)
// 功能:1.遍历数组 2.更新元素 不返回新数组 更多时候是用于使用回掉函数影响到原数组中的值
$arr = ['name'=>'peter','age'=>28,'sex'=>'male'];
//遍历数组
function printArr($value,$key){
	echo '我的',$key,'是:',$value,'<br>';
}
array_walk($arr,'printArr');
//修改数组
function alterArr(&$value,$key,$suffix){
	$value.=$suffix;
}
//在调用回调函数的时候传入第三个参数
array_walk($arr,'alterArr','_Php');
echo '<hr>';
//遍历修改后的数组
array_walk($arr,'printArr');


// 3.array_map(callback,$arr1,$arr2...)
// 将回调函数作用到每个数组上,并返回一个新数组:默认索引数组
// 回调函数的参数数量,必须与要处理的数组的数量一致

$arr = [1,2,3,4,5];
//创建一个回调函数
$func = function($value){
	return $value*2;
};
$newArr = array_map($func,$arr);

print_r($newArr);

$area = ['北京','天津','南京','深圳','广州'];

$func = function($value1,$value2){
	return '第'.$value1.'个元素是'.$value2;
};

$newArr = array_map($func,$arr,$area);

print_r($newArr);
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议