作者KawasumiMai (その唇にキスして欲しい)
看板PHP
標題[請益] 回傳許多array的問題
時間Sat Aug 4 00:11:10 2012
如題
使用一個外部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
1F:→ kerash:用途在哪 08/04 00:17
2F:→ MOONRAKER:(1)第三個方法並不蠢。(2)JSON。 08/04 00:18
3F:→ MOONRAKER:(3)你當然可以把好幾個陣列包成一個大陣列傳回 08/04 00:19
4F:→ MOONRAKER:如:$ret = Array( 'x'=>$x, 'y'=>$y, 'z'=>$z) 08/04 00:19
5F:→ MOONRAKER:isset($ret['x'])可以看其中的子陣列有沒有傳回來 08/04 00:20
6F:→ MOONRAKER:接收端就一直用isset()判斷再取值,這都可以的 08/04 00:20
7F:→ MOONRAKER:問題是為啥要這樣傳。一個函數有太多傳回值不是好事, 08/04 00:21
8F:→ MOONRAKER:如果是一個計算算出三個,想辦法分成一個主函數和三個 08/04 00:22
9F:→ MOONRAKER:wrapper,或寫成class。如果本來就獨立那就不如分成三個 08/04 00:22
10F:推 albb0920:回傳二維陣列很OK 啊 08/04 15:43
11F:→ averywu:就JSON吧。方便的很 08/08 10:19