无法让排序数组工作

Joh*_*ery 1 php arrays sorting

可能重复:
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>
}
Run Code Online (Sandbox Code Playgroud)

最终结果: 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);
Run Code Online (Sandbox Code Playgroud)

cru*_*ush 5

排序函数返回一个布尔值。

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

简单地做

sort($return);
Run Code Online (Sandbox Code Playgroud)


phi*_*ito 5

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

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

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

asort($array);
Run Code Online (Sandbox Code Playgroud)