【问题标题】:Access a PHP-object with dollar-sign as node name使用美元符号作为节点名称访问 PHP 对象
【发布时间】:2011-05-21 16:45:24
【问题描述】:

我正在使用每个 PHP 的 YouTube 数据 API,并以 json 格式向特定用户请求视频供稿。 json_decode 后的结果如下(简化示例):

stdClass Object
(
    [version] => 1.0
    [encoding] => UTF-8
    [feed] => stdClass Object
        (
            [xmlns] => http://www.w3.org/2005/Atom
            [xmlns$media] => http://search.yahoo.com/mrss/
            [xmlns$openSearch] => http://a9.com/-/spec/opensearchrss/1.0/
            [xmlns$gd] => http://schemas.google.com/g/2005
            [xmlns$yt] => http://gdata.youtube.com/schemas/2007
    )
)

我的问题是:如何使用 PHP 访问例如节点“xmlns$media”?在美元符号内它不起作用还是有一种我还没有得到的方法?

【问题讨论】:

    标签: php json youtube-api


    【解决方案1】:

    这将起作用:

    echo $object->feed->{'xmlns$media'};
    

    或者,您可以告诉json_decode 返回一个数组:

    $array = json_decode($json, true);
    echo $array['feed']['xmlns$media'];
    

    【讨论】:

      【解决方案2】:

      如果您使用单引号而不是双引号,则不会计算美元符号。一般来说,你应该养成使用单引号的习惯,除非你真的需要双引号来表示某些东西(例如转义的十六进制值)

      【讨论】:

        猜你喜欢
        • 2014-05-04
        • 2011-01-06
        • 1970-01-01
        • 2011-11-08
        • 2023-02-21
        • 2011-07-25
        • 2022-01-15
        • 2014-06-20
        • 1970-01-01
        相关资源
        最近更新 更多