PHP寫API輸出的時為什么用echo

這篇文章主要介紹PHP寫API輸出的時為什么用echo,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比霍州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式霍州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋霍州地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。

寫php API寫的很少,最近才開始接口的寫法,在框架里面一直用return,但是在api中retrun就失效了,為什么呢?

網(wǎng)友給出的答案:

1.return 一般用于函數(shù)或方法的返回。
echo 才是輸出(也就是顯示)
如果你不輸出,api有何作用。

2.return只能在php內(nèi)部使用
對外,你要給別人解析,你就理解成輸出,用echo

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

<?php
$ret = array(
    'name' => 'fdipzone'
);
header('content-type:application/json;charset=utf8');
echo json_encode($ret);?>

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

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

rerurn是語言中函數(shù)或者方法所代表的值,跟變量一樣,儲存在內(nèi)存中。return是給其他代碼塊一個指針或者引用。
服務(wù)器與app(客戶端)交互時,他們無法讀取同一個內(nèi)存系統(tǒng),只能通過文本這樣的方式來交換信息。
所以要echo一段文本(json)給客戶端。
php慣用的輸出流方式就是echo,如果你鐘情于return輸出,可以自創(chuàng)一門語言來實現(xiàn)。

2.我是這么理解的,不管什么程序,你總要輸出吧,那怎么輸出呢?PHP腳本,也就是用到<?php ?> 標(biāo)記起來的這些,都要靠PHP來解析的,那你要輸出肯定要用到echo,die,exit,print_r,
用return是輸出不了的,return就是返回的意思,我(主程序)調(diào)方法,方法給我返回結(jié)果。

3.框架本身會對你的函數(shù)返回的字符串進(jìn)行輸出,要輸出最終都是echo。。只是框架基本都是封裝了response對象;echo是輸出 只有輸出的內(nèi)容http請求的時候才能獲取到
而php內(nèi)部調(diào)用沒有http請求

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

因為前后端使用的是不同的內(nèi)存系統(tǒng),所以無法根據(jù)地址找到相應(yīng)的數(shù)據(jù),而echo print sprinf等這些能夠在瀏覽器中打印數(shù)據(jù)的函數(shù)都是基于http協(xié)議傳輸?shù)恼媸菙?shù)據(jù),所以在前端是可以獲取和判斷的.

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

以上是PHP寫API輸出的時為什么用echo的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站題目:PHP寫API輸出的時為什么用echo
標(biāo)題鏈接:http://muchs.cn/article46/pipgeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、營銷型網(wǎng)站建設(shè)標(biāo)簽優(yōu)化、ChatGPT、自適應(yīng)網(wǎng)站建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作