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

4

JSON格式。

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

在php中,我成功地使用$response->messages[0]->status来获取“status”的值。
但是当我想要访问“error-text”属性时,$response->messages[0]->error-text的代码给了我错误。 如何使用连字符访问对象属性?

3个回答

8

这是方法!

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

希望这可以帮到您。
任何字符串(字节序列)都可以用作类字段。
$object->{"123"} = 10; // numbers
$object->{"{a}"} = 10; // special characters
$object->{"òòèè"} = 10; // non ascii characters

5

使用{}语法:

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

0
请使用标准的PHP功能——在花括号内访问变量:
class t {}
$a = new t();
$a->{"o-o"} = 1;
echo $a->{"o-o"};

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接