2010-03-08 99 views
0

使用simplexml_load_file()函数,我得到一个副作用。要明白我的意思,看到这样的代码:从simplexml_load_file中检索数据

​​

输出:

Array 
(
[0] => SimpleXMLElement Object 
    (
     [0] => 330411879136 
    ) 

[1] => SimpleXMLElement Object 
    (
     [0] => 370346266228 
    ) 

[2] => SimpleXMLElement Object 
    (
     [0] => 370346266223 
    ) 
) 

如何将我的数据存储到阵列,使输出看起来像这样:

Array 
(
[0] => 330411879136 

[1] => 370346266228 

[2] => 370346266223 
) 

回答

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];