我的问题是我想创建一个使用多维数组的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
}
}
答案 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 ];
}