1、array_map() 将数组中每一项的值,使用用户自定义的函数进行一遍循环
示例
$arr = ['a'=>'1','b'=>'2','c'=>'3'];
$arr = array_map(function ($v){
return "当前值为:".$v;
},$arr);
var_dump($arr);
/**
* 输出结果
* array (size=3)
* 'a' => string '当前值为:1' (length=14)
* 'b' => string '当前值为:2' (length=14)
* 'c' => string '当前值为:3' (length=14)
*/
2、array_filter() 使用用户自定义的方法去过滤数组中每一项的值
示例
$arr = ['a'=>1,'b'=>2,'c'=>3,'d'=>'我是d','e'=>'我是e'];
$arr = array_filter($arr,function ($v){
//如果值不是整数类型则返回false
if (!is_int($v))
{
return false;
}else{
return $v;
}
});
var_dump($arr);
/**
* 输出结果
* array (size=3)
* 'a' => int 1
* 'b' => int 2
* 'c' => int 3
*/
3、array_walk() 对数组中键值对使用用户自定义的函数(类似foreach)
<?php
$arr = ['a'=>1,'b'=>2,'c'=>3,'d'=>'我是d','e'=>'我是e'];
//1、第一种用法
//可以使用引用值来改变数组中对应的键值
array_walk($arr,function (&$k){
if ($k==1)
{
$k ='我原来是1';
}else{
$k = "我是其他值";
}
});
var_dump($arr);
/**
* 输出结果
* array (size=5)
'a' => string '我原来是1' (length=13)
'b' => string '我是其他值' (length=15)
'c' => string '我是其他值' (length=15)
'd' => string '我是其他值' (length=15)
'e' => string '我是其他值' (length=15)
*/
$arr = ['a','b','c','d','e'];
//1、第二种用法
//可以使用引用值来改变数组中对应的键值
array_walk($arr,function ($k,$v){
var_dump("我是{$v}下的{$k}");
});
/**
*:string '我是0下的a' (length=14)
string '我是1下的b' (length=14)
string '我是2下的c' (length=14)
string '我是3下的d' (length=14)
string '我是4下的e' (length=14)
*/