当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 155855提问 提问时间:2023-10-28 10:42:26阅读次数: 55

最佳答案 问答题库558位专家为你答疑解惑

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

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

 实现效果

方案一、foreach引用方式


$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改变原数组值

$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循环修改数组元素:

$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 循环副本修改数组元素:

$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$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);
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"PHP如何批量修改二维数组中值":http://eshow365.cn/6-26728-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!