Blogger Information
Blog 5
fans 0
comment 0
visits 10648
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
回调函数处理数组
勇往直前
Original
924 people have browsed it

实例

<?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);
?>

运行实例 »

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


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post