如何从php中的以下对象获取价值?

时间:2018-10-18 11:08:50

标签: php

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"
}

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'"};

解决这些属性。

  

但是我建议您看看为什么单引号是对象属性名称的一部分,并对其进行修复以使它们不属于属性名称!