我有一个数组pr($site_name_with_value)
看起来像这样。这是两个combine_array
的结果。
Array(
[Ashuganj PDB] => 720
[Bagherhat PGCB] => 720
[Banani_CO] => 720
[Barapukuria PGCB] => 784
[Barishal PGCB] => 780
[Benapole_CO] => 752
[Bogura RO] => 776
[Bogura_CO(IS)] => 784
)
我已经尝试过这样做以达到预期的输出。
$site_name_with_value_order = arsort($site_name_with_value);
foreach ($site_name_with_value_order as $key => $val) {
echo "$key = $val\n";
}
它返回一条错误消息 为foreach()提供了无效的参数
首先,我想按值descending order
对它们进行排序。其次,如果值相同,则按ascending
排序索引。
我想要得到这样的输出。但是我不知道如何获得预期的输出。
Array(
[Bogura_CO(IS)] => 784
[Barapukuria PGCB] => 784
[Barishal PGCB] => 780
[Bogura RO] => 776
[Benapole_CO] => 752
[Ashuganj PDB] => 720
[Bagherhat PGCB] => 720
[Banani_CO] => 720
)
答案 0 :(得分:1)
首先,您创建了一个带有重复键的数组,这是无效的方法。因此,当您尝试使用arsort()
-以相反的顺序对数组进行排序并保持索引关联时,但是对于不同的php版本,它将返回不同的结果。参见DEMO
$array = array(
'Ash' => 776,
'Bag' => 720,
'Ban' => 720,
'Bar' => 776,
'Bar' => 780,
'Ben' => 752,
'Bog' => 720,
'Bog' => 780,
'Bue' => 776,
);
arsort($array);
print_r($array);
答案 1 :(得分:1)
无需分配
name
在另一个变量中,因为它只会返回1。因此,只需循环
arsort($site_name_with_value);
相反。