→ see7di:function get_array($x){$array=array('a','b','c'); 07/16 15:57
→ see7di:return $array[$x];} 07/16 15:58
→ see7di:或者 $y=(Is_array($y=get_array())) ? $y[0] : ''; 07/16 16:02
推 liaosankai:PHP5.4.x 後才支援你寫的方式 07/16 16:03
所以之前的版本只能透過改變結構的方式囉?
→ see7di:這種呢? $y=($y=get_array() And isSet($y[0]))?$y[0]:''; 07/16 16:09
→ tkdmaf:我相信1樓的寫法,你整個都眼花掉了。 07/16 16:54
→ tkdmaf:我的建議則是:即使新方法允許,也不一定會是最好的做法。 07/16 16:55
推 a60301:推一樓 07/16 17:45
→ gpmm:list 最直覺吧,剛剛看到第一個想倒也是 list :Q DK 大有回了 07/16 18:15
推 a60301:推 list 也推 function 加參數 07/16 18:22
可惜list不適用,抱歉原文沒詳述
→ tkdmaf:我不推一樓的原因是因為:如果function不是自己寫的呢? 07/16 18:52
→ tkdmaf:動手去改別人的function嗎?那萬一改了造成其他故障呢? 07/16 18:52
→ tkdmaf:但是如果是原PO原本的寫法,或是list就不會有這問題。 07/16 18:53
推 a60301:function get_array_by_index($index) { 07/16 19:08
→ a60301: $array = get_array(); 07/16 19:08
→ a60301: if (isset($array[$i])) { 07/16 19:08
→ a60301: return $array[$i]; 07/16 19:08
→ a60301: } else { 07/16 19:09
→ a60301: return false; 07/16 19:09
→ a60301: } 07/16 19:09
→ a60301:} 07/16 19:09
→ a60301:我發現我上面是打$index下面是打$i(面壁 07/16 19:09
→ see7di:不難看出發問者想偷懶,結果又出來一個funciton,哈哈!! 07/16 21:40
→ tkdmaf:所以樓上,你成為絕世高手了嗎?還是你找到高手了? 07/16 21:51
→ tails32100:依發問者的需求 在5.4以下是無解的,只能改習慣Orz 07/16 21:53
→ tkdmaf:其實我個人覺得……他原本那樣寫就行了。 07/16 22:08
→ tkdmaf:不是著墨在程式非要精簡到什麼樣的省事地步。 07/16 22:09
→ tkdmaf:而是著重在自己以及別人能不能看得懂。 07/16 22:09
→ tkdmaf:如果你看一行code的時間比你看三行code還慢的話。 07/16 22:10
→ tkdmaf:你就要認真考慮真的不是少就是好。 07/16 22:10
噓 see7di:樓上的,你不考慮程式的效能嗎? 07/16 22:14
→ tkdmaf:我看不出這邊跟效能有什麼必然的關係。 07/16 22:18
→ tkdmaf:重點是你想講效能,請問你有寫CODE去測效能? 07/16 22:18
→ tkdmaf:還是你認為效能是嘴巴說這樣快就一定快? 07/16 22:19
→ tkdmaf:沒有做過整體的效能評估的話,怎麼知道整體的快慢? 07/16 22:19
→ gname:精簡語法與效能似乎不是成絕對的關係... 07/16 22:24
→ twsphere:我也會推...原本寫那樣就好... 07/16 23:24
是啊,最後我還是直接存變數再取來用
因為get_array()只是一個比喻用的function
→ tkdmaf:我不推一樓的原因是因為:如果function不是自己寫的呢? 07/16 18:52
所以最後是偷懶不成了
→ see7di:不難看出發問者想偷懶,結果又出來一個funciton,哈哈!! 07/16 21:40
※ 編輯: Qiqi 來自: 210.69.166.241 (07/17 12:21)
推 chph:如果return的陣列是associative array可以用extract 07/18 00:53
→ chph:extract(get_array()); var_dump($a, $b, $c); 07/18 00:54