Моя проблема в том, что я хочу создать геттер, который использует многомерный массив. Я также использую версию php ниже 5.4, поэтому я не могу использовать разыменование массива.
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
}
}
Вы имеете в виду что-то вроде этого?
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 ];
}
Других решений пока нет …