Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

how extract key and valu from object

2 views
Skip to first unread message

alex

unread,
Jul 1, 2016, 4:46:58 AM7/1/16
to
with print_r ($opzioni_select);
I have this:
Array (
[all] => Select
[0] => stdClass Object ([option] => Array ([29] => A))
[1] => stdClass Object ([option] => Array ([28] => B ))
[2] => stdClass Object ([option] => Array ([31] => C ))
)


after with
foreach ($opzioni_select as $key)
{
print_r ($key->option); echo '<br>';

}

heve this:
Array ([29] => A)
Array ([28] => B)
Array ([31] => C)


I would like to create a new array
$newArr[ array_keys($key->option) ] = array_values($key->option);
but have this error: The first argument should be an array

how can get for every element the key and the value?

An array where I can to extract for every elements the key and the value

Ben Bacarisse

unread,
Jul 1, 2016, 10:12:15 AM7/1/16
to
alex <al...@nomailno.it> writes:

> with print_r ($opzioni_select);

var_dump gives you more detailed information.

> I have this:
> Array (
> [all] => Select
> [0] => stdClass Object ([option] => Array ([29] => A))
> [1] => stdClass Object ([option] => Array ([28] => B ))
> [2] => stdClass Object ([option] => Array ([31] => C ))
> )
>
>
> after with
> foreach ($opzioni_select as $key)
> {
> print_r ($key->option); echo '<br>';
>
> }
>
> heve this:
> Array ([29] => A)
> Array ([28] => B)
> Array ([31] => C)

And a notice that you are "Trying to get property of non-object". If
you don't see this you should probably turn notices on since they can
help a lot.

You need to avoid accessing $key->option when the $key is 'all'.

> I would like to create a new array
> $newArr[ array_keys($key->option) ] = array_values($key->option);
> but have this error: The first argument should be an array
>
> how can get for every element the key and the value?

It's possible that you want

$newarray[array_keys($obj->option)[0]] = array_values($obj->option)[0];

but, if not, please give the actual values you'd like to see in
$newarray. Also note that you will have to deal with the 'all' case as
I mentioned above.

> An array where I can to extract for every elements the key and the value

This bit I don't follow. You can do that for every array.

--
Ben.

alex

unread,
Jul 2, 2016, 5:30:56 AM7/2/16
to
thanks for you suggestion I must see with calm

I find this solution also if isn't short
seen that
print_r ($op_select);
I have this structure
Array (
[all] => Select
[0] => stdClass Object ([option] => Array ([29] => A))
[1] => stdClass Object ([option] => Array ([28] => B ))
[2] => stdClass Object ([option] => Array ([31] => C ))
)



I solved so
$new = array();
$i=0;
foreach ($op_select as $key) {
$i++;
if ($i==1)
{
$new['all'] = $key ;
}
else
{foreach ( $key->option as $key1 => $val1)
{echo $key1.' '.$val1.'<br/>';
$newArr[ $key1 ] = $val1;}

}
}

only for first key
I set manually the key All and assign value Select by $key
this is a cicle also if inner variable I have only on element

after I take key and value by
Array ([29] => A)
Array ([28] => B
Array ([31] => C
with foreach ( $key->option as $key1 => $val1)
but think this isn't the better solution
but work;

0 new messages