-3

重複の可能性:
特定のPHP配列からデータを抽出する方法

特定のキーからすべての要素をフェッチしようとしている配列があります。キーは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。すべての要素を読み取る方法は何ですか?

4

2 に答える 2

0

答える前に、基本的なPHP機能を読み始めることをお勧めします。

この質問に関しては、private変数の前にあるので、これはあなたのクラス内のプロパティであると想定しています。を使用してアクセスできます$this->shard_list['shard3']

于 2012-08-02T23:41:14.127 に答える
0

クラスで定義しているようです。プロパティとして定義しているためprivate、クラス外ではアクセスできません。外部スコープからアクセスする必要がある場合は、getterメソッドを使用します。

$this->shard_list['shard3']ダンが提案するように、クラス内からアクセスするには、単純に行うことができます。

外部スコープからアクセスする必要があり、プロパティをに設定したくない場合は、次publicのような「getter」メソッドを定義します。

public function getShard_list()
{

return $this->shard_list;

}

上記の関数はクラスに含まれている必要があります。

そして、それを外部スコープから呼び出します。

$shardList = $myClassInstance->getShard_list();

print_r( $shardList['shard3']);
于 2012-08-02T23:50:19.490 に答える