1.关于array_search 和 unset
原始代码:
public function appViewUnread($uid, $id)
{
$userNewRepyKey = Config_CacheKey::USER_QUESTION_NEW_REPLY.$uid;
$userNewReply = $this->appGetUserNewReply($uid);
$key = array_search($id, $userNewReply);
unset($userNewReply[$key]);
$this->redis->set($userNewRepyKey, serialize($userNewReply));
}BUG分析:如果 array_search 查不到结果,则返回false ,那么 unset($userNewReply[false]) 就等同于 unset($userNewRrply[0]) ,此时会将数组第一个元素删除。
更熏后的代码:
public function appViewUnread($uid, $id)
{
$userNewRepyKey = Config_CacheKey::USER_QUESTION_NEW_REPLY.$uid;
$userNewReply = $this->appGetUserNewReply($uid);
$key = array_search($id, $userNewReply);
if($key != false)
{
unset($userNewReply[$key]);
$this->redis->set($userNewRepyKey, serialize($userNewReply));
}
}以上就介绍了2016年1月06日 bug库2016-06-16,包括了2016年1月06日方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号