この理由を尋ねるのはばかげているように感じますが、それはとても基本的なことのように思えますが、本当に私を悩ませています。
単一の要素を持つ配列を返すメソッドがあります。配列にラップされていない要素を返すようにしたいだけです。これを試しました。
return $f->getValue()[0];
エラーが発生しますが、変数に保存すると正常に動作します。
$v = $f->getValue();
return $v[0];
私はそれを理解することはできません....
PHP 5.4 以降でのみ利用可能です: http://codepad.viper-7.com/VHOW0o
あなたがやろうとしていることはarray dereferencingと呼ばれ、バージョン 5.4 の時点で PHP でのみ可能です (私がリンクしたドキュメント記事を数行上にスクロールすると、言及されていることがわかります)。
reset()を使用します。
<?php return reset( $f->getValue() ); ?>
編集: reset()は、配列に要素が1つしかない場合でも大きな違いはありませんが、内部ポインターがリセットされることを確認するため、おそらくcurrent()よりも優れています。
あなたが配列を返しているので、私が知る限り、配列しか取得できません。代わりに、配列をクラス内の変数 ( でアクセス可能$f->myArray
) に保存してから、文字列部分だけを返すことができます。または、他のオプションは、2番目の例を実行して配列を返し、そこから文字列を取得することです。