#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"];