【发布时间】:2013-01-25 16:19:32
【问题描述】:
可能重复:
php sort($array) not working - returning 1 instead of sorted array
我很难让数组 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);
【问题讨论】:
-
快速向发现此内容的人解释(因为它在 Google 上返回 #1):这是因为您有
$return = sort( $return )。 sort 在完成时返回 true 或 false。因此,在此代码中,您将覆盖 $return 您可能期望 $return 成为排序数组的位置。将$return = sort($return)替换为:sort($return)