PHP array_map()
函数的意思是通过回调函数的方式修改数组中的每个元素并返回,它不会改变原有数组的值。
如果是多个数组的情况下我们可以用来比较判断。
语法
array_map(function,array1,array2,array3...)
参数
参数 | 描述 |
---|---|
function | 必需。用户自定义函数的名称,或者是 null。 |
array1 | 必需。数组1。 |
array2 | 可选。数组2。 |
array3 | 可选。数组3。 |
例子
1. 一个简单的例子,对数组中每个元素作加1并返回。
<?php
function add($num){
//作+1返回
return $num+1;
}
$arr = array(1,3,5);
$result=array_map('add', $arr);//+1
var_dump($result);
?>
输出:array(3) {
[0]=>
int(2)
[1]=>
int(4)
[2]=>
int(6)
}
[0]=>
int(2)
[1]=>
int(4)
[2]=>
int(6)
}
2. 多个数组比较的例子
<?php
function compare($num1, $num2){
if ($num1 == $num2) {
return "相同";
} else {
return "不相同";
}
}
$arr1 = array(1,3,5);
$arr2 = array(1,4,6);
$result=array_map('compare', $arr1, $arr2);
var_dump($result);
?>
array(3) {
[0]=>
string(6) "相同"
[1]=>
string(9) "不相同"
[2]=>
string(9) "不相同"
}
[0]=>
string(6) "相同"
[1]=>
string(9) "不相同"
[2]=>
string(9) "不相同"
}