gpt4 book ai didi

php - 访问 SimpleXMLElement 中的数字属性

转载 作者:行者123 更新时间:2023-12-05 08:44:45 27 4
gpt4 key购买 nike

我正在尝试访问以下元素中的数字,但无法从中获取值。

echo $object->0; //returns Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '{' or '$'

SimpleXMLElement Object (
[0:public] => 15810
)

关于如何获得该值(value)的任何想法?

更新

我意识到这是一个奇怪的错误...我正在使用 ebay API 来获取此值。即使我这样做:

  $zero = 0;
$print_r($ruleXml->HourlyUsage->$zero);

还是一样

SimpleXMLElement Object ( 
[0:public] => 15810
)

我也试过 {0}

这是我正在使用的输出......

[1] => SimpleXMLElement Object ( 
[CallName:public] => AddItem
[CountsTowardAggregate:public] => false
[DailyHardLimit:public] => 100000
[DailySoftLimit:public] => 100000
[DailyUsage:public] => 0
[HourlyHardLimit:public] => 100000
[HourlySoftLimit:public] => 100000
[HourlyUsage:public] => 0
[Period:public] => -1
[PeriodicHardLimit:public] => 0
[PeriodicSoftLimit:public] => 0
[PeriodicUsage:public] => 0
[ModTime:public] => 2010-05-04T18:06:08.000Z
[RuleCurrentStatus:public] => NotSet
[RuleStatus:public] => RuleOn
)

事情是这样的......

number_format($ruleXml->HourlyUsage) //throws the error: number_format() expects parameter 1 to be double, object given

$ruleXml->HourlyUsage //shows the value on the page

最佳答案

$x = 0;
echo $object->$x;

echo $object->{0};

原因是“0”在 PHP 中不是有效的标识符。因此,当您键入“0”时,它看到的只是一个 T_LNUMBER。所有名称都遵循变量命名约定。唯一的偏差是前面带有 -> 的成员变量不需要 $ 前缀。 http://www.php.net/manual/en/language.variables.basics.php

{0} 有效,因为 {} 表示标识符是内部简单表达式的结果。所以 {$x} 在这种情况下与 $x 相同,但 {0} 与 '0' 不同,因为它们会产生不同的解析器标记。

关于php - 访问 SimpleXMLElement 中的数字属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2877656/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com