共计 1199 个字符,预计需要花费 3 分钟才能阅读完成。
之前我们已经说过怎么拼合从数据库中取出的数值并去重:
PHP 中数据库查询出来的二维数组去重方法
那么,我们任然有的需求是,修改指定 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’] = ‘ 正常 ’;
};
appindexmodelBillData::create($bill_data[$i]);
}
|
比如上面的代码,从数据库中取出 billData,$i 计数,少于二维数组个数时,自增。
代码中的判断,是判断当前 i 中字段 state 为 ’ 减员 ’ 则保留,否则都改为正常。
最后将当前 i 对应的数据,插入数据库中。
需要注意的是,插入数据库,应该是$bill_data[$i],而不是$bill_data。
正文完