【问题标题】:how to make usort work如何使 usort 工作
【发布时间】: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中吧?

标签: php arrays usort


【解决方案1】:

谢谢大家,但我已经让它按降序工作了

return $b['price'] - $a['price'];

【讨论】:

    猜你喜欢
    • 2020-05-11
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多