之前我们已经说过怎么拼合从数据库中取出的数值并去重:
那么,我们任然有的需求是,修改指定key对应的value,或者批量修改某个字段的值,这又应该怎么做呢?
两种方式,一种是全部更改,另一种是改指定的值。
一、全部修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public function array_test(){ // 修改 二维数组中的 name为 Getchar $users = array( array('name' => 'GetcharZp', 'age' => 19), array('name' => 'Mcx', 'age' => 18) ); foreach ($users as &$user) { $user['name'] = 'Getchar'; }unset($user); // 销毁掉 user 引用 print_r($users); } |
如上,整个二维数组中的name全部都被修改。
二、修改指定
1 2 3 4 5 6 7 8 |
for($i = 0; $i < count($bill_data); ++ $i) { if($bill_data[$i]['state'] == '减员'){ $bill_data[$i]['state'] = '减员'; }else{ $bill_data[$i]['state'] = '正常'; }; \app\index\model\BillData::create($bill_data[$i]); } |
比如上面的代码,从数据库中取出billData,$i计数,少于二维数组个数时,自增。
代码中的判断,是判断当前i中字段state为’减员’则保留,否则都改为正常。
最后将当前i对应的数据,插入数据库中。
需要注意的是,插入数据库,应该是$bill_data[$i],而不是$bill_data。
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/10338