php object attribute with dot in name
I have mysql table with collumns like 'operation.date', 'operation.name' and etc.
After fetching that tab开发者_开发百科le data as object with $mysqli->fetch_object()
i get this (print_r of row):
stdClass Object
(
[id] => 2
[operation.date] => 2010-12-15
[operation.name] => some_name
)
how do I acces operation.date
and operation.name
and all other weirdly named object properties?
Specify aliases in your SQL query like SELECT column AS nameWithoutDots ...
or access these properties with $object->{'operation.name'}
or cast the object to array like this: $obj = (array)$obj; echo $obj['operation.name']
.
The correct way of accessing properties with a dot should be :
echo $object->{"operation.date"}
To access these attributes you need to wrap them with curly brackets:
echo $object->{"operation.date"} //2010-12-15
If you set an attribute this way the offending symbol gets removed, allowing you to access the attribute as echo $object->operationdate //2010-12-15
Change the sql to return valid property names using the 'as' feature
eg. select operation.date as date
You can get assoc array instead object by using $mysqli->fetch_assoc()
精彩评论