* 构造更新语句 * @param $add array * * @return string */ function parseUpdate($add) { $str = ''; foreach((array)$add as $key => $val) { $str .= ($str ? ',' : '') . '`' . $key . '` = ' . (!is_numeric($val) && 1 !== preg_match('/\w+ (\+|-) \d+/', $val) ? "'" . $val . "'" : $val); } return $str; }
//加积分 echo parseUpdate(['userfen' => 'userfen + 20']), PHP_EOL; //减积分 echo parseUpdate(['userfen' => 'userfen - 50']), PHP_EOL; //多个操作 echo parseUpdate(['userfen' => 'userfen - 30', 'money' => 'money - 2', 'groupid' => 'groupid + 1']);
效果: `userfen` = userfen + 20 `userfen` = userfen - 50 `userfen` = userfen - 30,`money` = money - 2,`groupid` = groupid + 1
上传以下图片:
|