每天三个php函数之array函数-第一天

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)
 */

  

posted @ 2020-04-20 20:23  Death-Satan  阅读(227)  评论(0编辑  收藏  举报