为什么 Laravel 中 Redis 的 hmget 操作返回使用 array_values 过滤?

为什么laravel中Redis的hmget操作返回使用array_values过滤?

/**
     * Get the value of the given hash fields.
     *
     * @param  string  $key
     * @param  dynamic  $dictionary
     * @return int
     */
    public function hmget($key, ...$dictionary)
    {
        if (count($dictionary) == 1) {
            $dictionary = $dictionary[0];
        }

        return array_values($this->command('hmget', [$key, $dictionary]));
    }

这样的话我查询出来的数组就没有和value相对应的key了,laravel这样做的原因是什么?可以把array_values去掉吗?或者有什么其他更好的解决方法?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 3

再 array_search 下

6年前 评论

同被这个问题困扰,我觉得框架的封装不应该更改原始扩展的返回的格式,特别是多项目用不同的框架,共用一套缓存系统时

3年前 评论

我也碰到这个问题,感觉太难理解了

3年前 评论
ligaofeng 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!