【问题标题】:php how to access object properties with hyphen? [duplicate]php如何使用连字符访问对象属性? [复制]
【发布时间】:2013-02-18 10:27:38
【问题描述】:

json 格式。

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

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

【问题讨论】:

    标签: php json


    【解决方案1】:

    这是路!

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

    希望对你有帮助


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

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

    【讨论】:

    • 哇。哦..爱你!它有效。
    【解决方案2】:

    使用{} 语法:

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-21
        • 1970-01-01
        • 2011-12-24
        相关资源
        最近更新 更多