2012-08-02 3 views
-3

가능한 중복은 :.
How to extract data out of a specific PHP array배열에서 데이터를 읽는 방법?

내가 특정 키에서 모든 요소를 ​​가져 오기 위해 노력하고 배열을 가지고있는 키 shard3입니다. 결과는 내가 shard3의 모든 요소를 ​​읽을 수 'user'=>'root','password'=>'3', 'db'=>'test', 'port'=>3307

private $shard_list = array ( 
     'shard1' => array('host'=>'127.0.0.1', 
    'user'=>'root', 
    'password'=>'1', 
    'db'=>'test', 
    'port'=>3306 
    ), 
    'shard2' => array('host'=>'127.0.0.2', 
     'user'=>'root', 
     'password'=>'2', 
     'db'=>'test', 
     'port'=>3307 
    ), 
    'shard3' => array('host'=>'127.0.0.3', 
    'user'=>'root', 
    'password'=>'3', 
    'db'=>'test', 
    'port'=>3307 
    ), 
    'shard4' => array('host'=>'127.0.0.4', 
     'user'=>'root', 
     'password'=>'4', 
     'db'=>'test', 
     'port'=>3307 
    ) 

해야한다. 모든 요소를 ​​읽는 방법은 무엇입니까?

+3

가를 요청하기 전에 (http://www.php.net/manual/en/langref.php)에서 [PHP 설명서]를 읽어 보시기 바랍니다. – Jocelyn

+0

그리고 귀하의 의견을 읽어보십시오 ... –

+0

$ data = $ shard_list [ 'shard3']; – mrok

답변

0

글쎄, 클래스에서 정의하는 것처럼 보입니다. 이 속성을 private 속성으로 정의하고 있으므로 클래스 외부에서 액세스 할 수 없습니다. 외부 범위에서 액세스해야하는 경우 getter 메서드를 사용합니다.

클래스에서 액세스하려면 Dan이 말한대로 간단히 $this->shard_list['shard3']을 입력하면됩니다. 경우

당신이 외부 범위에서 액세스해야합니까, 당신은, public에 속성을 설정과 같은 '게터'방법을 정의하지 않으 :

public function getShard_list() 
{ 

return $this->shard_list; 

} 

기능 이상해야을 수업에 앉아.

그리고는 바깥 범위에서 호출 :

$shardList = $myClassInstance->getShard_list(); 

print_r($shardList['shard3']); 
0

대답하기 전에 기본 PHP 기능을 읽기 시작하는 것이 좋습니다.

이 질문에 대해서는 귀하의 변수 앞에 private이 있으므로, 귀하의 클래스 안에있는 속성이라고 가정합니다. $this->shard_list['shard3']을 사용하여 액세스 할 수 있습니다.

+0

해당 사이트에 연결하지 마십시오! http://w3fools.com/ –

관련 문제