PHP寫API輸出的時用echo的原因詳解

2022-09-26 05:39:09 字數 1311 閱讀 1421

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

網友給出的答案:

1.return 一般用於函式或方法的返回。

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

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

2.return只能在php內部使用

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

3.當然是echo了,如果是json最好加上header標識

<?php $ret = array(

'name' => 'fdipzone'

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

echo json_encode($ret);?www.cppcns.com>

為什麼給app寫介面時,要用echo 返回 json資料?

1.給 app寫介面時,要用 echo json_encode() 來返回資料,但是php自身呼叫卻用 return json_encode();

rerurn是語言中函式或者方法所代表的值,跟變數一樣,儲zigpzkk存在記憶體中。return是給其他**塊乙個指標或者引用。

而伺服器與app(客戶端)互動時,他們無法讀取同乙個記憶體程式設計客棧系統,只能通過文字這樣的方式來交換資訊。

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

php慣用的輸出流方式就是echo,如果你鍾情於return輸出,可以自創一門語言來實現。

2.我是這麼理解的,不管什麼程式,你總要輸出吧,那怎麼輸出呢?php指令碼,也就是用到<?php ?> 標記起來的這些,都要靠php來解析的,那你要輸出肯定要用到echo,die,exit,print_r,

用return是輸出不了的,return就是返回的意思,我(主程式)調方法,方法給我返回結果。

3.框架本身會對你的函式返回的字串進行輸出,要輸出最終都是echo。。只zigpzkk是框架基本都是封裝了response物件;echo是輸出 只有輸出的內容http請求的時候才能獲取到

而php內部呼叫沒有http請求

return 作為函式返回值或結束語句,是返回的資料的指標,也就是資料存放的位址,而介面需要返回的是真實的資料,

因為前後端使用的是不同的記憶體系統,所以無法根據位址找到相應的資料,而echo print sprinf等這些能夠在瀏覽器中列印資料的函式都是基於http協議傳輸的真是資料,所以在前端是可以獲取和判斷的.

需要注意的是,在tp框架中,return關鍵字的確是可以給返回資料的,也就是可以作為介面返回資料關鍵字的,但是用原生的php是不行的,這應該是tp框架內部做過處理了!

API輸出的時候是return還是echo?

寫php api寫的很少,最近才開始介面的寫法,在框架裡面一直用return,但是在api中retrun就失效了,為什麼呢?給出的答案 1.return 一般用於函式或方法的返回。echo 才是輸出 也就是顯示 如果你不輸出,api有何作用。2.return只能在php內部使用 對外,你要給別人解析...

用groovy寫阿里軟體的api

看了阿里軟體開發的指南,想到用強大groovy指令碼語言,應該會很簡練。於是自己寫了幾個簡單的函式用於處理與alisoft平台的連線。不過在開發的過程中,也發現了alisoft定義的介面還有些問題,maybe 我自己的理解有偏差吧。比如對於下述定義 alisoft.getusinguser 呼叫引數...

php 用fwrite函式寫檔案時字元轉義問題

用php指令碼寫檔案時不會很少碰到轉義字元的問題,頂多是單引號和雙引號交換使用就可以解決,今天我通過web頁面生成.php檔案時碰到了字元被轉義的問題,由於web頁面有預覽功能,因此將生成的php檔案內容用ajax展示在頁面上,在提交表單時將頁面上顯示的內容 為字串 帶到action層處理,此時,由...