2016-11-13 54 views
0

我需要顯示來自文件XML(https://pogoda.yandex.ru/static/cities.xml)的數據的數組PHP。我想排列所有「ID」。幫我找到錯誤。由於XML到PHP不顯示數組

<?php 
$data_file_city="https://pogoda.yandex.ru/static/cities.xml"; 
$xml_city = simplexml_load_file($data_file_city); 

    foreach($xml_city->country as $key=>$value){ 
    foreach ($value->city as $key1=>$value1) { 
     $id = array("$value1[country]"); 
     echo $id; 
    } 
    } 
+1

'陣列( 「$值1 [國家]」)'?這是什麼? –

+0

您正在將'$ id'定義爲'array',使用'print_r($ id)'顯示內容,或者從'$ id =' – RST

+0

中刪除'array()'部分我需要這個數組用於JS循環。我只得到字符串 –

回答

0

$value1foreach是SimpleXMLElement對象與屬性。

爲了得到這樣的對象的屬性使用attributes功能:

$ids = array(); 
$countries = array(); 
foreach($xml_city->country as $key=>$value){ 
    foreach ($value->city as $key1=>$value1) { 
     $attrs = $value1->attributes(); 

     // Use `strval` function to cast attribute value to `string` type 

     // get `id` attribute 
     $id = strval($attrs['id']); 

     // get `country` attribute 
     $country = strval($attrs['country']); 

     echo $id, '<br />', $country; 

     // add to array 
     $ids[] = $id; 
     $countries[] = $country; 
    } 
} 
+0

謝謝!它有助於 –

+0

有一刻。我需要這些數組用於JS循環。而且我需要單獨分析每個值。我怎樣才能做到這一點? –

+0

我不明白你的問題。你不能添加項目數組或什麼? –