如何读取数组中的数据?

时间:2012-08-02 23:32:04

标签: php

  

可能重复:
  How to extract data out of a specific PHP array

我有一个数组,我试图从特定键中获取所有元素。键是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
     )

我想阅读shard3中的所有元素。阅读所有元素的方法是什么?

2 个答案:

答案 0 :(得分:0)

在回答之前,我建议您开始阅读基本的PHP功能。

至于这个问题,由于你在变量之前有private,我假设这是你的一个类中的一个属性,你可以使用$this->shard_list['shard3']来访问它。

答案 1 :(得分:0)

看起来你好像在课堂上定义它。因为您将其定义为private属性,所以无法在班级之外访问它。如果需要从外部作用域访问它,请使用getter方法。

要从课程中访问它,您可以像Dan建议的那样简单地执行$this->shard_list['shard3']

如果您确实需要从外部作用域访问它,并且您不想将该属性设置为public,请定义一个'getter'方法,如下所示:

public function getShard_list()
{

return $this->shard_list;

}

上面的功能应该在你的课堂上。

然后从外部范围调用它:

$shardList = $myClassInstance->getShard_list();

print_r( $shardList['shard3']);