hongch 2015-11-29 16:20:00 3969次浏览 2条回复 0 0 0

我在向客户端进行返回MD5加密字符串的时候,如果用return则会多返回一对双引号,用echo则是返回正常的,这是什么原因?怎么样才能使用return的情况下,不会多返回一对双引号?

 $response = isset($response->alipay_trade_pay_response) ? get_object_vars($response->alipay_trade_pay_response) : [];
 $response=Yii::$app->customSecurity->encrypt(json_encode($response));
 reruen $response;
  • 回复于 2015-11-29 19:40 举报

    在开发api吧? 定义了响应json格式吧? 估计八成是的, 是的话请往下看.

    原因:

    echo "hello";的时候, 直接塞进缓冲区, 最后返回给客户端, yii不会参与处理.

    return "hello";的时候, yii框架会在最后响应的时候, 做一个json的格式化处理.

    既然选择了使用json格式, 带引号就是正确的方式.

    觉得很赞
  • 回复于 2015-12-01 09:50 举报

    哥们上面返回的函数写错了

您需要登录后才可以回复。登录 | 立即注册