Thomas Aichinger
Thomas Aichinger

Reputation: 107

PHP How to access array data

I get passed an array in a callback function. Now I want access a value of this array.

I can dump this array into a file with var_export($fields[1], True)

Here is the content of the export:

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',
  ),
))

I want to access the value of opt->value whitch is 'myimportantdata' in this case. How can I achieve this?

I already tried:

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

without success :-(

Upvotes: 0

Views: 39

Answers (2)

jspit
jspit

Reputation: 7703

fields[1] contains an object of the type 'helper_plugin_bureaucracy_fieldtextbox'. The access to the properties of the object such as 'opt' must be done with the -> operator.

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

Upvotes: 1

Juri Salminen
Juri Salminen

Reputation: 151

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

Upvotes: 0

Related Questions