0

このコードが機能することがわかりました:

private function getSomething() {
  return array('item' => 'one');
}

...

echo $this->getSomething()['item'];

出力: '1'

しかし、私はマニュアルでこのような書き方を見つけることができません。さらに、Netbeans によると、PHP 5.4 以降でのみ動作するとのことです。最初に変数を割り当ててから、それを配列として使用する必要がありますか?

しかし、このコードははるかに見栄えが良く、1行になっています...

最後に私の質問は、このフォームを使用できますか?

4

2 に答える 2

1

PHP 5.3 より前では、一時変数を使用する必要があります。

function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

// previously
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();

ソース: http://php.net/manual/en/language.types.array.php#example-88

于 2013-10-10T13:10:11.433 に答える
1

どのバージョンの PHP を使用しているかを知っているかどうかによって異なります。

複数のバージョンの PHP で実行する必要がある場合

最初に変数に割り当てる必要があります

$tmp = $this->getSomething();
echo $tmp[0];
于 2013-10-10T13:14:47.130 に答える