2011-01-28 80 views

回答

6

PHP不支持陣列以這種方式提領,即這是無效的:

$result = myFunction($parameters)[4]; 

某些選項,其中沒有一個是特別優雅或可讀:

list(,,,,$result) = myFunction($parameters); // ignore first 3 
$result = array_pop(array_slice(myFunction($parameters), 4, 1)); // grab 4th element 
+1

在即將到來的發佈,PHP將支持這一點。我相信這個補丁已經投入使用,但它並沒有成爲一個發佈版本。 – 2011-01-28 03:21:13

+0

@alecgorge:喜歡PHP6?我很抱歉,但除非你能提供一個真實的php.net鏈接(即:一個有效的參考),我不能相信這一點。 :)我的意思是,我們正在談論對解析器的更改,而這些解決方案通常不會經常發佈。 – netcoder 2011-01-28 03:26:10

2
 
function myFunction ($params, $index = null) { 
    ... 
    if ($index !== null) return $result [ $index ]; 
    else return $result; 
} 

... 

$indexed_result = myFunction ($parameters, 4);