2010-03-08 104 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];