Home » Mysql » mySql PHP – return object value with space in key

mySql PHP – return object value with space in key

Posted by: admin November 30, 2017 Leave a comment


just come across something I’ve never came across before.
I have a value in my table "Device Vendor" and i am returning the data os an object.

usually I would call $ob->var_name but obviously $ob->Device Vendor will not work.

How do I return the value?



You use the following syntax

 $ob->{'Device Vendor'}


The syntax is this:

$ob->{'Device Vendor'}

I’m having a hard time trying to find an explicit reference to this in the PHP manual. I’m afraid that it needs to be inferred and you can only do so if you already know the answer. At Classes and Objects-> Properties they say:

Class member variables are called “properties”. […] They are defined
by using one of the keywords public, protected, or private, followed
by a normal variable declaration.

The rules that applies now is Variable variables:

In order to use variable variables with arrays, you have to resolve an
ambiguity problem. That is, if you write $$a1 then the parser needs
to know if you meant to use $a1 as a variable, or if you wanted $$a
as the variable and then the 1 index from that variable. The syntax
for resolving this ambiguity is: ${$a1} for the first case and
${$a}1 for the second.

We are basically abusing variable variables so we can use a space.