使用simplexml_load_file()函数,会产生副作用。要理解我的意思,请参阅以下代码:
$result = simplexml_load_file($xml_link);
$arr = array();
foreach ($result->element as $elem) {
$arr[] = $elem->number[0];
}
print_r($arr);
输出:
Array
(
[0] => SimpleXMLElement Object
(
[0] => 330411879136
)
[1] => SimpleXMLElement Object
(
[0] => 370346266228
)
[2] => SimpleXMLElement Object
(
[0] => 370346266223
)
)
如何将数据存储到数组中,以便输出如下:
Array
(
[0] => 330411879136
[1] => 370346266228
[2] => 370346266223
)
答案 0 :(得分:1)
您必须将从SimpleXML获得的数据转换为您感兴趣的PHP数据类型。
例如,在这里,你应该使用这样的东西:
$result = simplexml_load_file($xml_link);
$arr = array();
foreach ($result->element as $elem) {
$arr[] = intval($elem->number[0]);
}
即。在这里,我们“强制”转换为整数。
在整数的情况下,这也可以使用类型转换来完成:
$result = simplexml_load_file($xml_link);
$arr = array();
foreach ($result->element as $elem) {
$arr[] = (int)$elem->number[0];
}
与许多其他类型相同,顺便说一下 - 请参阅手册中的Type Casting部分。
例如,你可以使用这样的字符串:
$arr[] = (string)$elem->number[0];
或者像花车那样:
$arr[] = (float)$elem->number[0];