php中特殊字符的关联数组键更改
这是我的示例对象。我需要使用数组访问对象。但在这种情况下,我无法访问数组,因为特殊字符(@)是前缀。请帮助我如何访问阵列php中特殊字符的关联数组键更改,php,arrays,Php,Arrays,这是我的示例对象。我需要使用数组访问对象。但在这种情况下,我无法访问数组,因为特殊字符(@)是前缀。请帮助我如何访问阵列 SimpleXMLElement Object ( [@attributes] => Array ( [Reference] => 758 [Key] => P201602161758028991205395 ) ) 您可以直接访问这些属性,例如 echo $elem
SimpleXMLElement Object
(
[@attributes] => Array
(
[Reference] => 758
[Key] => P201602161758028991205395
)
)
您可以直接访问这些属性,例如
echo $elem["Reference"];
echo $elem["Key"];
正如@Mark Baker指出的正确方向一样,SimpleXML
的真正魔力发生在幕后。正如@deceze提到的,这是特定于SimpleXML的
您甚至可以在其上循环:
foreach($xml->foo[0]->attributes() as $a => $b) {
echo "$a = $b \n";
}
您可以直接访问这些属性,例如
echo $elem["Reference"];
echo $elem["Key"];
正如@Mark Baker指出的正确方向一样,SimpleXML
的真正魔力发生在幕后。正如@deceze提到的,这是特定于SimpleXML的
您甚至可以在其上循环:
foreach($xml->foo[0]->attributes() as $a => $b) {
echo "$a = $b \n";
}
正如@Jan的答案所示,您可以直接访问各个属性 如果需要将所有属性作为一个真正的数组抓取,这是一种方法:
$attributes = current($element->attributes());
我更喜欢这种紧凑、浓缩的方式,将所有属性作为一个没有循环的数组抓取。如@Jan的回答所示,您可以直接访问单个属性 如果需要将所有属性作为一个真正的数组抓取,这是一种方法:
$attributes = current($element->attributes());
我更喜欢这是一种紧凑、浓缩的方式,可以将所有属性作为一个没有循环的数组来获取。Objects!==阵列。。。。如果需要访问属性,请使用
$obj->{'@attributes'}['Key']
请使用RTFM,例如#5,访问属性:Objects!==阵列。。。。如果需要访问属性,请使用$obj->{'@attributes'}['Key']
请使用RTFM,例如#5,访问属性: