如何在php中对具有负值的关联数组进行降序排序?
我正在网上考试网站上工作。在这里,我有一个关联数组,其中key作为子部分的名称,value作为相应子部分的分数。所以我想根据值按降序对数组进行排序。但我的价值观是负面的。我使用了arsort函数按值对关联数组进行排序,但它不适用于负值。实际上,我想先展示一下分数最低的部分。我正在提供我的代码。请帮我解决这个问题如何在php中对具有负值的关联数组进行降序排序?,php,arrays,sorting,Php,Arrays,Sorting,我正在网上考试网站上工作。在这里,我有一个关联数组,其中key作为子部分的名称,value作为相应子部分的分数。所以我想根据值按降序对数组进行排序。但我的价值观是负面的。我使用了arsort函数按值对关联数组进行排序,但它不适用于负值。实际上,我想先展示一下分数最低的部分。我正在提供我的代码。请帮我解决这个问题 Array ( [sentence-equivalence] => -6 [reading-comprehension] => -16 [text-c
Array
(
[sentence-equivalence] => -6
[reading-comprehension] => -16
[text-completion] => -20
[algebra] => -24
[geometry] => -26
[arithmetic] => -31
[common-data] => -37
[statistics] => -38
)
您可以分别使用和,或者如果您更喜欢一种方法,那么您可以使用并传递您自己的比较器函数。下面是一些例子。希望有帮助
$array = array(
'sentence-equivalence' => -6,
'reading-comprehension' => -16,
'text-completion' => -20,
'algebra' => -24,
'arithmetic' => -31,
'geometry' => -26,
'common-data' => -37,
'statistics' => -38,
);
asort($array, SORT_NUMERIC);
$array = array_reverse($array, true); // true stands for preserve keys.
var_dump($array);
// Otherwise you might also use uasort:
uasort($array, function($a, $b) {
return $a < $b;
});
$array=array(
“句子等值”=>-6,
“阅读理解”=>-16,
“文本完成”=>-20,
“代数”=>-24,
“算术”=>-31,
“几何体”=>-26,
“公共数据”=>-37,
“统计数据”=>-38,
);
asort($array,SORT\u NUMERIC);
$array=array_reverse($array,true);//true代表保留密钥。
变量转储($数组);
//否则,您也可以使用uasort:
uasort($array,function($a,$b){
返回$a<$b;
});
使用array\u multisort
并将第二个参数作为SORT\u DESC
传递。试试这个
$s = Array
(
'sentence-equivalence' => -6,
'reading-comprehension' => -16,
'text-completion' => -20,
'algebra' => -24,
'arithmetic' => -31,
'geometry' => -26,
'common-data' => -37,
'statistics' => -38,
);
array_multisort($s, SORT_DESC); //array_multisort($s, SORT_ASC); for ascending order
print '<pre>';
print_r($s);
$s=Array
(
“句子等值”=>-6,
“阅读理解”=>-16,
“文本完成”=>-20,
“代数”=>-24,
“算术”=>-31,
“几何体”=>-26,
“公共数据”=>-37,
“统计数据”=>-38,
);
数组_multisort($s,SORT_DESC)//数组\u multisort($s,SORT\u ASC);升序
打印“”;
印刷品(港币);;
我不明白为什么它不适用于负值。显示您的尝试。是否可能与WTH重复?您已经用百科全书中关于PHP的条目中的一节替换了您的问题@约格什克:不是真的,不是