访问属性名称中含有禁止字符的对象属性

发布于 2024-10-06 10:53:53 字数 620 浏览 3 评论 0原文

我正在使用 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”?在美元符号内它不起作用,或者有什么我还没有得到的方法吗?

I'm working with the YouTube Data API per PHP and requesting a video feed from a specific user in json-format. The result after json_decode is the following (shortened example):

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
    )
)

My question is: how can I access for example the node "xmlns$media" with PHP? Within the dollar-sign it won't work or is there a way which I didn't get yet?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尛丟丟 2024-10-13 10:53:53

这将起作用:

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

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

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

This will work:

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

Alternatively, you can tell json_decode to return an array:

$array = json_decode($json, true);
echo $array['feed']['xmlns$media'];
心不设防 2024-10-13 10:53:53

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

If you use single-quotes instead of double-quotes, the dollar sign won't be evaluated. Generally speaking, you should get in the habit of using single-quotes unless you really need double-quotes for something (such as escaped hex values)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文