2013-10-23 61 views
0

我試圖在php中對我的xml進行排序。我在這裏找到了一個解決方案:Sorting XML File into ascending order using php如何在php中排序xml文件

但是,如果有項目51390這樣的屬性,其中有2個課程而其他有1個,則解決方案確實顯示它們全部。因爲在陣列中,他只插入

'course'   => (string)$item->courses->course[0] 

所以我的xml,它也得到了其他沒有的屬性。我如何排序我的XML並讓所有內容都顯示出來?乾杯。

回答

0

您需要使用usort。這應該工作:

<?php 
$url = '001.XML'; 
$xml = simplexml_load_file($url); 

$items = array(); 
foreach($xml->Images->ImageGalleryEntry as $item) { 
    $items[] = $item; 
}; 

// Custom sort on the names of the items: 
usort ($items, function($a, $b) { 
    return strcmp($a['Name'], $b['Name']); 
}); 

foreach ($items as $item) { 
    echo $item['FileName'] . "<br/>" . $item['Name'] . "<br/>" . $item['Description'] . "<br/><br/>"; 
} 
+0

嗨,我沒有得到這個工作。我已將該字段替換爲相關字段。 –