stdClass Object (
['age_from'] => 18
['age_to'] => 25
['people_in_household'] => 1
['household_gender'] => 1
)
我的代码
$data = HaveListing::where('id',$id)
->with('roomDetails')
->with('user')
->with('currency')
->first();
$jsonString = $data->roomDetails->household;
$obj =json_decode($jsonString);
print_r($obj->age_from);
exit();
var_dump($ obj)的输出
object(stdClass)#1016 (4) {
["'age_from'"]=>
string(2) "18"
["'age_to'"]=>
string(2) "25"
["'people_in_household'"]=>
string(1) "1"
["'household_gender'"]=>
string(1) "1"
}
答案 0 :(得分:1)
因为在属性名称中使用单引号,所以请参见
object(stdClass)#1016 (4) {
["'age_from'"]=> string(2) "18"
["'age_to'"]=> string(2) "25"
["'people_in_household'"]=> string(1) "1"
["'household_gender'"]=> string(1) "1"
}
您将不得不使用
echo $obj->{"'age_from'"};
解决这些属性。
但是我建议您看看为什么单引号是对象属性名称的一部分,并对其进行修复以使它们不属于属性名称!