PHP如何批量修改二维数组中值

每个name值加pex,age加5, 原数据:

php 复制代码
$data=[
    ["name"=>'a','age'=>12],
    ["name"=>'b','age'=>22],
    ["name"=>'c','age'=>33],
    ["name"=>'d','age'=>44],
];

实现效果

方案一、foreach引用方式

php 复制代码
$data=[
    ["name"=>'a','age'=>12],
    ["name"=>'b','age'=>22],
    ["name"=>'c','age'=>33],
    ["name"=>'d','age'=>44],
];

foreach ($data as &$v){
    $v['name']="pex".$v['name'];
    $v['age']=$v['age']+5;
}
var_dump($data);

方案二、foreach通过key改变原数组值

php 复制代码
$data=[
    ["name"=>'a','age'=>12],
    ["name"=>'b','age'=>22],
    ["name"=>'c','age'=>33],
    ["name"=>'d','age'=>44],
];

foreach ($data as $k=>$v){
    $data[$k]['name']="pex".$v['name'];
    $data[$k]['age']=$v['age']+5;
}
var_dump($data);

方案三、使用传统的for循环修改数组元素:

php 复制代码
$data = [
    ["name" => 'a', 'age' => 12],
    ["name" => 'b', 'age' => 22],
    ["name" => 'c', 'age' => 33],
    ["name" => 'd', 'age' => 44],
];
for ($i = 0; $i < count($data); $i++) {
    $data[$i]['name'] = "pex" . $data[$i]['name'];
    $data[$i]['age'] = $data[$i]['age']+5;
}
var_dump($data);

方案四、使用 foreach 循环副本修改数组元素:

php 复制代码
$data = [
    ["name" => 'a', 'age' => 12],
    ["name" => 'b', 'age' => 22],
    ["name" => 'c', 'age' => 33],
    ["name" => 'd', 'age' => 44],
];
$newData = [];
foreach ($data as $item) {
    $item['name'] = "pex" . $item['name'];
    $item['age'] = $item['age']+5;
    $newData[] = $item;
}
var_dump($newData);

方案五、使用 array_map 函数修改数组元素:

php 复制代码
<?php

$data = [
    ["name" => 'a', 'age' => 12],
    ["name" => 'b', 'age' => 22],
    ["name" => 'c', 'age' => 33],
    ["name" => 'd', 'age' => 44],
];
$newData = array_map(function ($item) {
    $item['name'] = "pex" . $item['name'];
    $item['age'] =  $item['age']+5;
    return $item;
}, $data);
var_dump($newData);
复制代码
相关推荐
RainCity1 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
LinXunFeng8 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
两个人的幸福9 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo11 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack11 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820712 天前
PHP 扩展——从入门到理解
php
鹏仔先生13 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
LDR00613 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术13 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园13 天前
C++20 Modules 模块详解
java·开发语言·spring