【发布时间】:2016-10-24 09:00:16
【问题描述】:
$string = 'aaaaa,val1,1111; ddddd,val2,2222; gggg,val3,3333;';
$string = rtrim($string, ";");
$one = explode(';', $string);
$array = array();
$i = 0;
foreach($one as $o)
{
$two = explode(',', $o);
$name = $two[0];
$value = $two[1];
$price = $two[2];
$array[$i]['name'] = $name;
$array[$i]['value'] = $value;
$array[$i]['price'] = $price;
$i++;
}
echo '<pre>';
print_r($array);
usort($array, 'sort_by_order');
function sort_by_order ($a, $b)
{
return $a['price'] - $b['price'];
}
print_r($array);
如果您复制我上面的代码,您可以立即看到显示。
我正在努力让我的usort() 工作。根据价格排序。我按照usort() 上的教程进行操作,我不明白它是如何工作的。 $a 和 $b 是如何发挥作用的?
【问题讨论】:
-
那么问题出在哪里?工作:-eval.in/665353
-
@Anant 排序后价值最高的价格应该在key 0中吧?