变量我们再也熟悉不过了,但是如果,一个变量要求其变量名和值都随着特定情况改变,那又该如何?
于是就可以使用我们的可变变量了
上代码
这是一个TP5.1的编辑用户通用方法,页面上只允许管理员一次修改用户一项的值
$uid = isset($get['uid']) ? $get['uid'] : null; //uid
$disabled = isset($get['disabled']) ? $get['disabled'] : null; // 是否禁言
$status = isset($get['status']) ? $get['status'] : null;
$credit = isset($get['credit']) ? $get['credit'] : null;
$actlvl = isset($get['actlvl']) ? $get['actlvl'] : null;
$tnstatus = isset($get['tnstatus']) ? $get['tnstatus'] : null;
$is_status = isset($get['is_status']) ? $get['is_status'] : null;
$is_monitor = isset($get['is_monitor']) ? $get['is_monitor'] : null;
$iskilled = isset($get['iskilled']) ? $get['iskilled'] : null;
$disabled = $iskilled == 1 ? $disabled = 1 : $disabled; //当状态为封号时,账户连带一起禁言
if (isset($iskilled)) {
$date = Db::table('user')->where('uid', $uid)->setField(['iskilled' => $iskilled]);
$data = Db::table('user')->where('uid', $uid)->setField(['disabled' => $iskilled]);
} else {
$arr = [
'iskilled' => $iskilled,
'disabled' => $disabled,
'status' => $status,
'credit' => $credit,
'actlvl' => $actlvl,
'tnstatus' => $tnstatus,
'is_status' => $is_status,
'is_monitor' => $is_monitor,
];
foreach ($arr as $k => $v) {
if (strlen($v) > 0) {
$key = $k;
}
}
$date = Db::table('user')->where('uid', $uid)->setField([$key => $$key]);
$data = 1;
}
if (isset($date) && isset($data)) return "success"; else return "error";