如何在php中创建多维数组getter

时间:2015-02-09 21:03:37

标签: php multidimensional-array getter

我的问题是我想创建一个使用多维数组的getter。我也使用低于5.4的php版本,所以我不能使用数组解除引用。

class someClass{ 
protected someArray; // array( 'key1' => array( 'key2' => 'val'))

 function __construct(){ 
  // calling
  $this -> getVar( array( 'key1' , 'key2' ) ); 
 }

 public function getVar( $keys ){ 
  // return someArray multidimensional values 
 } 
} 

1 个答案:

答案 0 :(得分:0)

你的意思是这样的吗?

class someClass{ 
  protected someArray; 

  function __construct(){ 
    $this->someArray = array(
                        'key1' => array('name' => 'Akhil', 'loc' => 'india'),
                        'key2' => array('name' => 'Akash', 'loc' => 'usa'),
                        'key3' => array('name' => 'Dad', 'loc' => 'dubai'),
                        'key4' => array('name' => 'Mom', 'loc' => 'uae')
    );

    // calling
    print_r( $this -> getVar( array( 'key1' , 'key2' ) ) ); 
  }

  public function getVar( $keys ){ 
    // return someArray multidimensional values 

    $temp = array();
    foreach($keys as $key)
    {
      $temp[] = $this->someArray[ $key ];
    }

    return $temp;

  } 
} 

修改

根据您在我的回答中提供的评论,以下是您可以这样做的方式:

  public function getVar( $main_key, $sub_key ){ 
    // return someArray multidimensional values       

    return $this->someArray[ $main_key ][ $sub_key ];

  }