我有两个数组:
$number=array(1212,340,2310,670,90);
$cars=array("Volvo","BMW","Toyota","Maruti","Zen");
我需要将$number
数组从高到低排序,我正在使用rsort
。我想根据$numbers
的排序索引值对$cars
进行排序,并对其进行回声。如:
$number=array(2310,1212,670,340,90); //sorted values
$cars=array("Toyota","Volvo","Maruti","BMW","Zen") //then display these values
我想我需要使用$order
在这个答案中提到的基于另一个数组的键排序数组?但我还是不明白。我不想合并这两个数组。我想根据其他数组的n个索引值对数组进行排序
一个简单的多重排序应该:
$number=array(1212,340,2310,670,90);
$cars=array("Volvo","BMW","Toyota","Maruti","Zen");
array_multisort($number, SORT_DESC, SORT_NUMERIC, $cars);
var_dump($cars);
完全按照你想要的输出:
array(5) {
[0]=>
string(6) "Toyota"
[1]=>
string(5) "Volvo"
[2]=>
string(6) "Maruti"
[3]=>
string(3) "BMW"
[4]=>
string(3) "Zen"
}
你需要array_combine
…
下面是一个例子:
<?php
$number=array(1212,340,2310,670,90);
$cars=array("Volvo","BMW","Toyota","Maruti","Zen");
$newarray = array_combine($number, $cars);
print_r($newarray);
?>
结果:
Array ( [1212] => Volvo [340] => BMW [2310] => Toyota [670] => Maruti [90] => Zen )
http://www.php.net/manual/en/function.array-combine.php 使用多维数组然后排序:
<?php
$cars=array(1212=>"Volvo",340=>"BMW",2310=>"Toyota",670=>"Maruti",90=>"Zen");
krsort($cars);
foreach ($cars as $key => $val) {
echo "$key = $valn";
}