2011-11-10 18 views
0

アクセス:私はページを実行しようとすると配列を返すと私はPHPにかなり新しいだと私はクラスの関数から配列を返すようにしようとしていますし、そのように同じようにその値にアクセス値

<?php 
    class Foo 
     { 
      private $access; 

      public function setAccess($access) 
      { 
       $this->access = $access; 
      } 


      public function getAccess() 
      { 
       return $this->access; 
      } 
     } 


$var = new Foo(); 
$var->setAccess(array(1,2,3,4)); 

$var2 = $var->getAccess()[2]; 

echo $var2; 

?> 

をこのコードでは、次のようになります。

Parse error: syntax error, unexpected '[' in arraytest.php on line 22 

私のクラスのプライベートアレイの値にアクセスするにはどうすればよいですか?

答えて

1

、あなたはこの書く必要があるだろう:あなたはこのような何かしなければならない現時点では、代わり

$access = $var->getAccess(); 
$var2 = $access[2]; 

を、あなたが追加することができますあなたのクラスにこのような関数。

public function getAccessValue($key) { 
    return $this->access[$key]; 
} 
+0

ああ、私はもともと、そのような機能を書いていましたが、もっと良い方法があると思っていました。変数を最初に配列に格納して、逆参照していただきます。ありがとうございます。 – Sandoichi

2

この:

$var2 = $var->getAccess()[2]; 

は(この機能はを逆参照配列と呼ばれる)バージョン5.4の前にPHPで行うことはできません。あなたが直接そのように配列値を呼び出すことはできません

$var2 = $var->getAccess(); 
$var2 = $var2[2]; 
+0

私にPHPのバージョンと名前(配列逆参照)を教えていただきありがとうございます。私は関連する質問を見つけるのに苦労しました。 – Sandoichi

関連する問題