当前位置: 首页 > 面试题库 >

访问以美元符号作为节点名称的PHP对象

东方灵均
2023-03-14
问题内容

我正在使用每个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”节点?在美元符号内,它不起作用,或者有没有一种我还没有得到的方法?


问题答案:

这将起作用:

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

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

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


 类似资料:
  • 问题内容: 我有一个PHP对象,其属性中带有美元($)符号。 如何访问此属性的内容? 范例: 问题答案: 具有可变变量: echo $object->$myVar; 带花括号:

  • 问题内容: 我有以下JSON: 我拼命尝试访问动态对象名称,如,该怎么办? 现在我有: 问题答案: 我可以想象,最简单的方法是解码为关联数组而不是stdClass对象

  • 问题内容: 如果我有一个如下所示的javascript对象 我有一个既传递对象又传递属性的函数,像这样 身体会是什么样? 问题答案: 您不需要它的功能-只需使用括号符号即可: 这等于点表示法,除了在使用方括号表示法时也可能来自变量,函数返回值等的事实。 如果需要它的功能,则为: 为了回答下面与原始问题没有直接关系的一些注释,可以通过多个括号引用嵌套对象。如果您有这样的嵌套对象: 您可以访问财产的,

  • 问题内容: 我正在看一位同事写的一些代码,她在require语句中使用该符号。这是这些文件之一的第一行: 当我尝试运行此代码时,出现错误: 坦率地说,我的目录中没有需要识别的东西!我似乎讨厌这里发生的一些魔术。 我所能猜测的是,这是我尚未接触到的一些晦涩的npm或Node技巧,或者也许是我没有得到其他一些暗黑的配置技巧。任何信息都值得赞赏,即使这只是对require的工作方式的解释。 其他想法:主

  • 问题内容: 最初,我使用下划线作为类名。新的Java8编译器抱怨它“ 在Java SE 8之后可能不受支持 ”。我将其更改为,不再有警告。但是我记得Java使用它在字节码中指示一个内部/嵌入式类。我想知道使用美元符号作为类名是否有任何风险 这个问题的一些背景。我想做的是克服Java不支持纯函数的事实,而_或$是放置一个命名空间来封装一些非常通用的概念(类/静态方法)。我对此也没有好名,也不想让li

  • 问题内容: 我正在尝试反序列化JSON。我的根对象具有单个属性“ en.pickthall”。我正在使用动态类型读取JSON。我以为我可以取消“。” 在属性中,因为它是本地JSON文件,但是必须有某种方法可以访问此类属性 问题答案: C#没有任何引用标识符的方式。如果不是有效的标识符,则唯一的选择就是反射。 但是,您的JSON解串器返回的对象可能会更改了标识符,以使其在C#中可用- 您可能希望枚举