看板 PHP 關於我們 聯絡資訊
如題 使用一個外部php 計算出三個不同的array之後想要傳回來 該用什麼方法? 第一個是直接include之後沿用變數 但是如果變數名稱重複就很頭大 因為有幾組php都要做類似的事情 第二個是寫成function並且include之後呼叫 問題是return好像不能回傳N個array 有看過寫法是 return array(0,1,2) 然後使用list($a,$b,$c)=func() 但是這是已知數量的變數 而且如果有好幾組array要回傳也不能list二微陣列 第三個是弄成string回傳 並且在主php上explode 怎麼感覺這方法很蠢.... 有什麼好主意嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.93.204
kerash:用途在哪 08/04 00:17
MOONRAKER:(1)第三個方法並不蠢。(2)JSON。 08/04 00:18
MOONRAKER:(3)你當然可以把好幾個陣列包成一個大陣列傳回 08/04 00:19
MOONRAKER:如:$ret = Array( 'x'=>$x, 'y'=>$y, 'z'=>$z) 08/04 00:19
MOONRAKER:isset($ret['x'])可以看其中的子陣列有沒有傳回來 08/04 00:20
MOONRAKER:接收端就一直用isset()判斷再取值,這都可以的 08/04 00:20
MOONRAKER:問題是為啥要這樣傳。一個函數有太多傳回值不是好事, 08/04 00:21
MOONRAKER:如果是一個計算算出三個,想辦法分成一個主函數和三個 08/04 00:22
MOONRAKER:wrapper,或寫成class。如果本來就獨立那就不如分成三個 08/04 00:22
albb0920:回傳二維陣列很OK 啊 08/04 15:43
averywu:就JSON吧。方便的很 08/08 10:19