2011-01-28 10 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はこれをサポートします。パッチは私が信じているトランクにコミットされているだけで、リリースには入っていません。 –

+0

@alecgorge:PHP6と同じですか?申し訳ありませんが、実際のphp.netリンク(つまり、有効な参照情報)をその情報に提供できない限り、私はこれを信じることができません。私は、パーサーの変更について話しています。これらは通常、非常に頻繁にリリースされるわけではありません。 – netcoder

+0

PHP6は決して存在しませんが、それは別の問題です。これはおそらく、PHP 5.4またはPHP 5.5またはそれを呼び出す予定のものであろう。なぜ私はまだそこにいないのかわかりません。ここにリストのスレッドがあります:http://markmail.org/message/unplu5x3gjjjydwz#query:+page:1+mid:affsjxr5nl2uxoe4+state:results –

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

... 

$indexed_result = myFunction ($parameters, 4); 
+1

+1 OPはユーザー定義関数なので、OPはその目的のために$ indexパラメータを追加するコントロールを持っています。良いキャッチ。 – netcoder

関連する問題