Connecting Tech Pros Worldwide Forums | Help | Site Map

Accessing stdClass object vars

JamesG
Guest
 
Posts: n/a
#1: Mar 1 '07
Hi,

I have the following object, I need to extract the SysMessage
property.

stdClass Object ( [UnknownConsignment] =stdClass Object
( [SysMessage] =Your consignment could not be found on our
system ) )

I could do this:
$object->UnknownConsignment->SysMessage

However, depending on the condition, the "UnknownConsignment" property
might be called something else.
Therefore, I need a solution, something like an array:
$object->[0]->SysMessage

Thanks in advance!


Hendri Kurniawan
Guest
 
Posts: n/a
#2: Mar 1 '07

re: Accessing stdClass object vars


get_object_vars will actually give you an array of properties an object have

Hendri

JamesG wrote:
Quote:
Hi,
>
I have the following object, I need to extract the SysMessage
property.
>
stdClass Object ( [UnknownConsignment] =stdClass Object
( [SysMessage] =Your consignment could not be found on our
system ) )
>
I could do this:
$object->UnknownConsignment->SysMessage
>
However, depending on the condition, the "UnknownConsignment" property
might be called something else.
Therefore, I need a solution, something like an array:
$object->[0]->SysMessage
>
Thanks in advance!
>
JamesG
Guest
 
Posts: n/a
#3: Mar 1 '07

re: Accessing stdClass object vars


On Mar 1, 1:58 am, Hendri Kurniawan <ask...@email.comwrote:
Quote:
get_object_vars will actually give you an array of properties an object have
>
Hendri
>
JamesG wrote:
Quote:
Hi,
>
Quote:
I have the following object, I need to extract the SysMessage
property.
>
Quote:
stdClass Object ( [UnknownConsignment] =stdClass Object
( [SysMessage] =Your consignment could not be found on our
system ) )
>
Quote:
I could do this:
$object->UnknownConsignment->SysMessage
>
Quote:
However, depending on the condition, the "UnknownConsignment" property
might be called something else.
Therefore, I need a solution, something like an array:
$object->[0]->SysMessage
>
Quote:
Thanks in advance!

Thanks for the tip.
I'm trying to use this, but it's not working how I like.

The array is now as follows:
Array ( [UnknownConsignment] =stdClass Object ( [SysMessage] =Your
consignment could not be found on our system ) )

So you would assume by using: $array[0] would access the object, and:
$array[0]->SysMessage contains the message I want.
This does not work! I know it's something silly, so any further help
is appreciated!

Thanks again

Hendri Kurniawan
Guest
 
Posts: n/a
#4: Mar 1 '07

re: Accessing stdClass object vars


JamesG wrote:
Quote:
On Mar 1, 1:58 am, Hendri Kurniawan <ask...@email.comwrote:
Quote:
>get_object_vars will actually give you an array of properties an object have
>>
>Hendri
>>
>JamesG wrote:
Quote:
>>Hi,
>>I have the following object, I need to extract the SysMessage
>>property.
>>stdClass Object ( [UnknownConsignment] =stdClass Object
>>( [SysMessage] =Your consignment could not be found on our
>>system ) )
>>I could do this:
>>$object->UnknownConsignment->SysMessage
>>However, depending on the condition, the "UnknownConsignment" property
>>might be called something else.
>>Therefore, I need a solution, something like an array:
>>$object->[0]->SysMessage
>>Thanks in advance!
>
>
Thanks for the tip.
I'm trying to use this, but it's not working how I like.
>
The array is now as follows:
Array ( [UnknownConsignment] =stdClass Object ( [SysMessage] =Your
consignment could not be found on our system ) )
>
So you would assume by using: $array[0] would access the object, and:
$array[0]->SysMessage contains the message I want.
This does not work! I know it's something silly, so any further help
is appreciated!
>
Thanks again
>
Hi James,

It doesn't work because it returns associated array.
What you have to do is get the name of that keys using array_keys.

$variables = get_object_vars($object);
$keys = array_keys($variables);
print $variables[$key[0]]->SysMessage;

Hendri Kurniawan
JamesG
Guest
 
Posts: n/a
#5: Mar 1 '07

re: Accessing stdClass object vars


On Mar 1, 3:37 am, Hendri Kurniawan <ask...@email.comwrote:
Quote:
JamesG wrote:
Quote:
On Mar 1, 1:58 am, Hendri Kurniawan <ask...@email.comwrote:
Quote:
get_object_vars will actually give you an array of properties an object have
>
Quote:
Quote:
Hendri
>
Quote:
Quote:
JamesG wrote:
>Hi,
>I have the following object, I need to extract the SysMessage
>property.
>stdClass Object ( [UnknownConsignment] =stdClass Object
>( [SysMessage] =Your consignment could not be found on our
>system ) )
>I could do this:
>$object->UnknownConsignment->SysMessage
>However, depending on the condition, the "UnknownConsignment" property
>might be called something else.
>Therefore, I need a solution, something like an array:
>$object->[0]->SysMessage
>Thanks in advance!
>
Quote:
Thanks for the tip.
I'm trying to use this, but it's not working how I like.
>
Quote:
The array is now as follows:
Array ( [UnknownConsignment] =stdClass Object ( [SysMessage] =Your
consignment could not be found on our system ) )
>
Quote:
So you would assume by using: $array[0] would access the object, and:
$array[0]->SysMessage contains the message I want.
This does not work! I know it's something silly, so any further help
is appreciated!
>
Quote:
Thanks again
>
Hi James,
>
It doesn't work because it returns associated array.
What you have to do is get the name of that keys using array_keys.
>
$variables = get_object_vars($object);
$keys = array_keys($variables);
print $variables[$key[0]]->SysMessage;
>
Hendri Kurniawan
Thanks Hendri, works perfectly.

Hendri Kurniawan
Guest
 
Posts: n/a
#6: Mar 1 '07

re: Accessing stdClass object vars


My pleasure
Closed Thread