优化说明:
- 使用
array_diff_key
: 直接使用array_diff_key
函数来移除不需要的字段会比unset
更简洁。它比较两个数组的键,并返回仅包含第一个数组中 不包含 在第二个数组中的键的值。 - 简洁的过渡逻辑: 将
toArray()
和adminLog
语句放在if
语句内,避免不必要的执行。 - 移除冗余的
$originalData
变量: 代码直接在$adminData
上操作,不使用额外变量。
其他建议:
- : 考虑将需要排除的字段列表定义在中,以便于修改和维护。
- 字段过滤: 您可以根据不同的场景和需求,动态添加或移除需要过滤的字段。
if ($result) {
$adminData = $adminData->toArray();
// 移除不需要的字段
$adminData = array_diff_key(
$adminData,
array_flip(['password', 'salt', 'last_login_ip', 'last_login_time', 'token', 'create_time', 'update_time', 'delete_time'])
);
adminLog('修改管理员-' . $param['username'] .'信息:原信息-' . json_encode($adminData,JSON_UNESCAPED_UNICODE));
return show($result);
}