溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP寫API輸出的時(shí)為什么要用echo

發(fā)布時(shí)間:2021-09-03 21:57:51 來源:億速云 閱讀:152 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“PHP寫API輸出的時(shí)為什么要用echo”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“PHP寫API輸出的時(shí)為什么要用echo”吧!

答案:

1.return 一般用于函數(shù)或方法的返回。

echo 才是輸出(也就是顯示)

如果你不輸出,api有何作用。

2.return只能在php內(nèi)部使用

對(duì)外,你要給別人解析,你就理解成輸出,用echo

3.當(dāng)然是echo了,如果是json最好加上header標(biāo)識(shí)

<?php

$ret = array(

  'name' => 'fdipzone'

);

header('content-type:application/json;charset=utf8');

echo json_encode($ret);?>

為什么給app寫接口時(shí),要用echo 返回 json數(shù)據(jù)?

1.給 app寫接口時(shí),要用 echo json_encode() 來返回?cái)?shù)據(jù),但是PHP自身調(diào)用卻用 return json_encode();

rerurn是語(yǔ)言中函數(shù)或者方法所代表的值,跟變量一樣,儲(chǔ)存在內(nèi)存中。return是給其他代碼塊一個(gè)指針或者引用。

服務(wù)器與app(客戶端)交互時(shí),他們無(wú)法讀取同一個(gè)內(nèi)存系統(tǒng),只能通過文本這樣的方式來交換信息。

所以要echo一段文本(json)給客戶端。

php慣用的輸出流方式就是echo,如果你鐘情于return輸出,可以自創(chuàng)一門語(yǔ)言來實(shí)現(xiàn)。

2.我是這么理解的,不管什么程序,你總要輸出吧,那怎么輸出呢?PHP腳本,也就是用到<?php ?> 標(biāo)記起來的這些,都要靠PHP來解析的,那你要輸出肯定要用到echo,die,exit,print_r,

用return是輸出不了的,return就是返回的意思,我(主程序)調(diào)方法,方法給我返回結(jié)果。

3.框架本身會(huì)對(duì)你的函數(shù)返回的字符串進(jìn)行輸出,要輸出最終都是echo。。只是框架基本都是封裝了response對(duì)象;echo是輸出 只有輸出的內(nèi)容http請(qǐng)求的時(shí)候才能獲取到

而php內(nèi)部調(diào)用沒有http請(qǐng)求

return 作為函數(shù)返回值或結(jié)束語(yǔ)句,是返回的數(shù)據(jù)的指針,也就是數(shù)據(jù)存放的地址,而接口需要返回的是真實(shí)的數(shù)據(jù),

因?yàn)榍昂蠖耸褂玫氖遣煌膬?nèi)存系統(tǒng),所以無(wú)法根據(jù)地址找到相應(yīng)的數(shù)據(jù),而echo print sprinf等這些能夠在瀏覽器中打印數(shù)據(jù)的函數(shù)都是基于http協(xié)議傳輸?shù)恼媸菙?shù)據(jù),所以在前端是可以獲取和判斷的.

需要注意的是,在tp框架中,return關(guān)鍵字的確是可以給返回?cái)?shù)據(jù)的,也就是可以作為接口返回?cái)?shù)據(jù)關(guān)鍵字的,但是用原生的php是不行的,這應(yīng)該是tp框架內(nèi)部做過處理了!

到此,相信大家對(duì)“PHP寫API輸出的時(shí)為什么要用echo”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI