2014-12-19 33 views
0

我需要從XML響應創建一個數組,然後按現有XML字段之一排序。在循環之前創建並排序數組

我已經解析了XML罰款,並最終以我需要在我的foreach循環中的3個值。

$optionsArray = array(); 

foreach ($options as $key => $option) { 
    $price = $option->Price; 
    $shortDesc = $option->ShortDescription; 
    $longDesc = $option->LongDescription; 

    $optionsArray[] = array('shortdesc' => $shortDesc, 'longdesc' => $longDesc, 'price' => $price); 
} 

這工作正常,但現在我希望使用'價格'值(降序)排序數組,然後我可以正確顯示項目。

我已經看着usort和arsort和所有其他人,但無法理解。任何使用我的代碼幫助的例子?

謝謝。

+0

檢查這個答案:-http://stackoverflow.com/questions/1597736/how-to-sort-an-array-of-associative-arrays-by-value -of-a-given-key-in-php – 2014-12-19 10:15:53

回答

1

應該做的伎倆

$sortArr = array(); 
$optionsArray = array(); 
foreach ($options as $key => $option) { 
    $price = $option->Price; 
    $shortDesc = $option->ShortDescription; 
    $longDesc = $option->LongDescription; 

    $optionsArray[] = array('shortdesc' => $shortDesc, 'longdesc' => $longDesc, 'price' => $price); 
    $sortArr[] = $price; 
} 

array_multisort($sortArr, SORT_ASC, $optionsArray); 
+0

完美,謝謝:) – Lovelock 2014-12-19 10:20:29