PHP - 如何按值对2个变量进行排序?

时间:2016-11-06 12:30:15

标签: php sorting variables

我想通过变量' wons'

对这两个变量进行排序

我的意思是,我首先想要对变量' wons'进行排序。我想要各自的最后一个'像:

$final[0] = 'pinco'; 
$final[1] = 'pallino';

$wons[0] = 3; 
$wons[1] = 7;

现在我想为这些2个变量排序' wons'变量就像我想要这个结果:

我希望第一个结果是pallino和得分7等等。

任何人都可以帮助我吗?我努力了..语言是PHP

2 个答案:

答案 0 :(得分:0)

如果两个阵列的顺序相同,则可以使用arsort()作为wons数组。然后在最终数组中找到相应的元素。下面的代码可以帮助您

<?php
 $final  = array('0'=>'pinco','1'=>'pallino'); 
 $wons = array('0'=>3,'1'=>7);
 arsort($wons);
 foreach($wons as $key => $val)
 {
    echo $val.'-'.$final[$key].'<br>';
 }
?>

答案 1 :(得分:0)

您要查找的功能名为array_multisort

请参阅:http://php.net/manual/en/function.array-multisort.php

第一个例子解释了你所描述的相同情况:

  

示例#1对多个数组进行排序

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>

在此示例中,排序后,第一个数组将包含0,10,100,100。第二个数组将包含4,1,2,3。第二个数组中的条目对应于第一个中的相同条目阵列(100和100)也被分类。

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}