1

可能重复:
php sort($array) 不工作 - 返回 1 而不是排序数组

我很难让数组 sort() 函数按预期工作,我也尝试过 ksort() 等。 :::

这很好用

foreach( (array) $query as $post ) {
   $VP = ( ( empty($PMD['vehicle_price'][0]) ) ?  $VP = 'On Request' : $VP = $PMD['vehicle_price'][0] ); 
      $vehicle_p[] = $VP;
}

$return = array_count_values($vehicle_p); //Key Value Unique ( count )

foreach($return as $value => $count) {
   <li><span class="key">' . $value . '</span> (' . $count . ')</li>
}

最终结果: 480000 (1)、80000 (2)、120400 (1)

我现在想对此进行排序,因此 80000 (2) 在列表中的第一位,然后是 120400 (1),然后是 480000 (1)

只要我添加任何如下所示的sort()函数,我只会得到一个输出 1

我无法让它工作任何帮助将不胜感激

$return = array_count_values($vehicle_p); //Key Value Unique ( count )
$return = sort($return);
print_r($return);
4

2 回答 2

5

sort函数返回一个布尔值。

因此,$return通过将此布尔值分配给$return.

简单地做

sort($return);
于 2013-01-25T16:22:18.723 回答
5

如果我理解正确,您想按升序对数组进行排序?如果这是正确的看看asort()哪个将按值对数组进行排序但保持索引/键不变

http://php.net/manual/en/function.asort.php

请记住,排序函数返回一个布尔值,因此不要将它们分配给变量,只需调用数组上的函数。

asort($array);
于 2013-01-25T16:24:44.773 回答