2014-12-19 85 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