myFunctionが配列を返す場合は、これを行う簡単な方法はありますか?配列についての非常に簡単な質問
$result = myFunction($parameters);
$result = $result[4];
ありがとうございます。これは無効である。すなわち
myFunctionが配列を返す場合は、これを行う簡単な方法はありますか?配列についての非常に簡単な質問
$result = myFunction($parameters);
$result = $result[4];
ありがとうございます。これは無効である。すなわち
PHPは、このようにデリファレンスの配列をサポートしていません。
$result = myFunction($parameters)[4];
いくつかのオプションが、いずれも、特にエレガントまたは読める:
list(,,,,$result) = myFunction($parameters); // ignore first 3
$result = array_pop(array_slice(myFunction($parameters), 4, 1)); // grab 4th element
function myFunction ($params, $index = null) { ... if ($index !== null) return $result [ $index ]; else return $result; } ... $indexed_result = myFunction ($parameters, 4);
+1 OPはユーザー定義関数なので、OPはその目的のために$ indexパラメータを追加するコントロールを持っています。良いキャッチ。 – netcoder
来るべきでリリース、PHPはこれをサポートします。パッチは私が信じているトランクにコミットされているだけで、リリースには入っていません。 –
@alecgorge:PHP6と同じですか?申し訳ありませんが、実際のphp.netリンク(つまり、有効な参照情報)をその情報に提供できない限り、私はこれを信じることができません。私は、パーサーの変更について話しています。これらは通常、非常に頻繁にリリースされるわけではありません。 – netcoder
PHP6は決して存在しませんが、それは別の問題です。これはおそらく、PHP 5.4またはPHP 5.5またはそれを呼び出す予定のものであろう。なぜ私はまだそこにいないのかわかりません。ここにリストのスレッドがあります:http://markmail.org/message/unplu5x3gjjjydwz#query:+page:1+mid:affsjxr5nl2uxoe4+state:results –