なぜこれが機能しないのか疑問に思っています。
PHP 5.3 以降では、オブジェクトを返す関数またはクラス メソッドはオブジェクトのように動作します。
<?php
class A {
function test() {
echo "Yay!";
}
}
function get_obj() {
return new A();
}
function get_array() {
return array("foo", "bar", "hallo", "world");
}
get_obj()->test(); // "works
echo get_array()[1]; // and this fails
?>
http://php.net/manual/en/functions.returning-values.phpでこれを見つけました
配列では機能せず、オブジェクトでは機能する理由を誰かが明確にします。
編集:
get_array() を追加