php如何用连字符访问对象属性?

时间:2013-02-18 10:27:39

标签: php json

json格式。

{
  "message-count":"1",
  "messages":[
    {
    "status":"returnCode",
    "error-text":"error-message"
    }
  ]
}

在php中,我使用$response->messages[0]->status成功获得“状态”值 但是当我想访问“错误文本”属性时,代码$response->messages[0]->error-text会给我错误。 如何使用hypen访问对象属性?

3 个答案:

答案 0 :(得分:5)

这是方法!

$object->{"message-count"};
$response->messages[0]->{'error-text'};

希望这会有所帮助


任何字符串(字节序列)都可以用作类字段

$object->{"123"} = 10; // numbers
$object->{"{a}"} = 10; // special characters
$object->{"òòèè"} = 10; // non ascii characters

答案 1 :(得分:3)

使用{}语法:

echo $response->messages[0]->{'error-text'};

答案 2 :(得分:0)

请使用标准PHP功能 - 访问大括号内的变量:

class t {}
$a = new t();
$a->{"o-o"} = 1;
echo $a->{"o-o"};

所以,你需要写$ response-> messages [0] - > {“error-text”}。