PHP Как получить доступ к данным массива

#php #multidimensional-array

Вопрос:

Мне передается массив в функции обратного вызова. Теперь я хочу получить доступ к значению этого массива.

Я могу сбросить этот массив в файл с помощью var_export($fields[1], True)

Вот содержание экспорта:

 helper_plugin_bureaucracy_fieldtextbox::__set_state(array(
   'mandatory_args' => 2,
   'opt' =>
  array (
    'cmd' => 'textbox',
    'label' => 'Kunde',
    'display' => 'Kunde',
    'value' => 'myimportantdata',
  ),
   'tpl' =>
  array (
    '_elem' => 'textfield',
    '_text' => '@@DISPLAY@@',
    '_class' => '@@CLASS@@',
    'id' => '@@ID@@',
    'name' => '@@NAME@@',
    'value' => '@@VALUE@@',
    'class' => 'edit required',
    'required' => 'required',
  ),
   'checks' =>
  array (
  ),
   'hidden' => false,
   'error' => false,
   'checktypes' =>
  array (
    '/' => 'match',
    '<' => 'max',
    '>' => 'min',
  ),
))

 

Я хочу получить доступ к значению opt->значение, которое в данном случае является «myimportantdata».
Как я могу этого достичь?

Я уже пытался:

 $mydata = $fields[1]['helper_plugin_bureaucracy_fieldtextbox']['opt'];
$mydata = $fields[1][0][2];
$mydata = $fields[1]->helper_plugin_bureaucracy_fieldtextbox['opt'];
 

безуспешно 🙁

Ответ №1:

поля[1] содержат объект типа «helper_plugin_bureaucracy_fieldtextbox». Доступ к свойствам объекта, таким как «opt», должен осуществляться с помощью оператора ->.

 $opt = $fields[1]->opt;
$opt_value = $fields[1]->opt['value'];  //myimportantdata
 

Ответ №2:

 $data = array(
    'mandatory_args' => 2,
    'opt' =>
        array (
            'cmd' => 'textbox',
            'label' => 'Kunde',
            'display' => 'Kunde',
            'value' => 'myimportantdata',
        ),
    'tpl' =>
        array (
            '_elem' => 'textfield',
            '_text' => '@@DISPLAY@@',
            '_class' => '@@CLASS@@',
            'id' => '@@ID@@',
            'name' => '@@NAME@@',
            'value' => '@@VALUE@@',
            'class' => 'edit required',
            'required' => 'required',
        ),
    'checks' =>
        array (
        ),
    'hidden' => false,
    'error' => false,
    'checktypes' =>
        array (
            '/' => 'match',
            '<' => 'max',
            '>' => 'min',
        ),
);

echo $data["opt"]["value"];