0

次のphpコード:

<?php
class foo {
   $arr = array("First","Second","Third","Fourth");
}

$obj = new foo();
echo $obj->$arr[1];
?>

次のエラーが生成されます。

Parse error: syntax error, unexpected '$arr' (T_VARIABLE), expecting function (T_FUNCTION) in /opt/lampp/htdocs/tester.php on line 3

私は php5.4 を使用しています。このエラーは何ですか? これを解決するにはどうすればよいですか?

4

2 に答える 2

3

オブジェクトのプロパティにアクセスするときは、$. echo $obj->arr[1]うまくいくだけです。

編集: また、Explosion Pills が言うように、可視性を指定する必要があります。この場合、おそらく

public $arr = array("First","Second","Third","Fourth");
于 2013-01-26T19:18:14.043 に答える
2

private|public|protectedの前に追加する必要があります$arr

$obj->arr[1]さらに、代わりにアクセスします$obj->$arr[1]が、実際には有効な構文です。

変数名を含む文字列として補間されるため、有効な構文です。これは機能します。たとえば、次のようになります。

$arr = array(1 => 'arr');
$obj->$arr[1];

それはに補間します$obj->arr

于 2013-01-26T19:17:56.717 に答える