【问题标题】:PHP - Sort Two Arrays The Same WayPHP - 以相同的方式对两个数组进行排序
【发布时间】:2012-04-12 15:45:14
【问题描述】:

我有两个不同的数组。一个数组,a,用于人员列表。我的另一个数组 b,用于列出他们的年龄。我按数字对 b 进行排序,然后将其反转,使其按降序排列。这部分我没问题。

如何对(人名​​列表)进行排序,以便相同的值仍与排序后的列表配对?

例子:

a 分别包含 Bob、Sue、Phil 和 Jenny

b 分别包含 15、12、13 和 13。

我希望我的结果是:

a 分别包含 Bob、Jenny、Phil 和 Sue

b分别包含15、13、13、12

【问题讨论】:

标签: php arrays sorting text numeric


【解决方案1】:

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

使用参考中的示例 #1:

$a = array('Bob', 'Sue', 'Phil', 'Jenny');
$b = array(15, 12, 13, 13);
array_multisort($a, $b);
print_r($a);
> Array
 (
 [0] => Bob
 [1] => Jenny
 [2] => Phil
 [3] => Sue
 )
print_r($b);
> Array
 (
 [0] => 15
 [1] => 13
 [2] => 13
 [3] => 12
 )

【讨论】:

  • 如果使用array_multisort,它们对应的年龄将不匹配。
  • 请为您提供的链接添加上下文。
  • 你能举个例子吗?我似乎无法让它工作。
  • bfavaretto 答案对我来说是一个很好的答案,如果他真的希望这两个数组结合起来并与他们的正确年龄相匹配。
  • @MarCejas,同意,但答案是你的,我只是添加了一个例子 :)
【解决方案2】:

为什么不直接使用:

$arr = array('Bob'=>15,'Sue'=>12,'Phil'=>13,'Jenny'=>13);

然后就可以顺利排序了。

【讨论】:

猜你喜欢
  • 2016-01-02
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多