php array_map处理多维,php中对一维和多维数组操作的一些函数array_walk和array_map

这篇博客介绍了PHP中处理数组的三个关键函数:array_column用于从多维数组中提取特定列数据,array_walk遍历数组并在回调函数中修改值,array_map则用于对数组元素应用函数并返回新数组。示例代码展示了如何使用这些函数进行数据操作,并讲解了闭包和引用的用法。
摘要由CSDN通过智能技术生成

php中对数组的操作的函数是非常强大而方便的。

array_column()从多维数组中提取一列数据到指定的数组$datalist = [

[

'aaa' => '11111111', 'bb' => '444444',

],

[

'aaa' => '22222222', 'bb' => '555555',

],

[

'aaa' => '33333333', 'bb' => '555555',

],

];

$list = array_column($datalist, 'aaa');

var_dump($list);

a24e843d026e2fc3f8e506c9c23cb4ff.png

array_walk遍历一个数组,把键值传入回调函数进行处理,传引用时可修改原数组

返回值为 true/false

下面使用函数对数组进行修改并取出指定键的值到另一个数组中$datalist = [

[

'aaa' => '11111111', 'bb' => '444444',

],

[

'aaa' => '22222222', 'bb' => '555555',

],

[

'aaa' => '33333333', 'bb' => '555555',

],

];

$list = [];

array_walk($datalist, function ($value, $key) use (&$datalist, &$list) {

$datalist[$key]['aaa'] = 'aaaaaaaa';

$list[]                = $value['bb'];

});

var_dump($datalist);

var_dump($list);

匿名函数的两个参数是固定的第一个是数组的值第二个是键,因为匿名函数是一个闭包,不能访问外面的变量所以要加一个use语法把外面的变量引用传进去进行修改赋值,此方法有些笨拙,主要是讲解下use的用法

想直接对原数组进行修改有更方法的方法遍历的时候参数传引用进去就可以啦$datalist = [

[

'aaa' => '11111111', 'bb' => '444444',

],

[

'aaa' => '22222222', 'bb' => '555555',

],

[

'aaa' => '33333333', 'bb' => '555555',

],

];

$list = [];

array_walk($datalist, function (&$value, &$key) use (&$list) {

$value['aaa'] = 'aaaaaaaa';

$list[]       = $value['bb'];

});

var_dump($datalist);

var_dump($list);

array_map遍历数组的值,由回调函数处理后返回一个新值,把新值放在一个数组中返回$datalist = ['45', '2', '5', '60', '98', '1'];

$list     = array_map(function ($value) {

return $value . '_test';

}, $datalist);

var_dump($list);

var_dump($datalist);

此函数可以配合use语法实现更强大的功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值