search

Home  >  Q&A  >  body text

php - 为什么给app写接口时,要用echo 返回 json数据?

给 app写接口时,要用 echo json_encode() 来返回数据,
但是PHP自身调用却用 return json_encode();

PHPzPHPz2818 days ago723

reply all(7)I'll reply

  • PHPz

    PHPz2017-04-11 10:30:28

    rerurn是语言中函数或者方法所代表的值,跟变量一样,储存在内存中。return是给其他代码块一个指针或者引用。
    而服务器与app(客户端)交互时,他们无法读取同一个内存系统,只能通过文本这样的方式来交换信息。
    所以要echo一段文本(json)给客户端。
    php惯用的输出流方式就是echo,如果你钟情于return输出,可以自创一门语言来实现。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 10:30:28

    这里就充分说明了框架害死了新手。。

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-11 10:30:28

    打个比方,俄罗斯的老毛子与中国人遇上了, 他们return相当于是用自己国家的语言说话, 那样怎么办呢,于是他们用英语(json)就可以方便共同交流

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 10:30:28

    我是这么理解的,不管什么程序,你总要输出吧,那怎么输出呢?PHP脚本,也就是用到<?php ?> 标记起来的这些,都要靠PHP来解析的,那你要输出肯定要用到echo,die,exit,print_r,用return是输出不了的,return就是返回的意思,我(主程序)调方法,方法给我返回结果。

    reply
    0
  • 黄舟

    黄舟2017-04-11 10:30:28

    要输出最终都是echo。。只是框架基本都是封装了response对象

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 10:30:28

    框架本身会对你的函数返回的字符串进行输出

    reply
    0
  • 阿神

    阿神2017-04-11 10:30:28

    echo是输出 只有输出的内容http请求的时候才能获取到
    而php内部调用没有http请求

    reply
    0
  • Cancelreply