【发布时间】:2018-02-09 17:32:06
【问题描述】:
在我的 PHP 文件中,我有 2 个数组,每个数组中的键都从 0 到最后一个索引编号,它们都包含相同的数组元素编号,因为它们包含同一联系人的数据,但每个数组都包含同一联系人的不同数据,每个联系人都有一个 ID,这是他在数组中的索引。
我已经根据值对第一个数组进行了降序排序,因此键的排序不同,值是降序的。我想以相同的方式对第二个数组进行排序,以便它们具有相同的键顺序,然后对两个数组执行array_values,以便它具有新的升序键顺序。
例如我有这两个数组:
$arr1 = array('0' => 'John', '1' => 'George', '2' => 'James', '3' => 'Harry');
$arr2 = array('0' => '12', '1' => '8', '2' => '34', '3' => '23');
我已经按照他的值对$arr2进行了降序排序,如下所示:
arsort($arr2);
// So now, $arr2 is "[2] => '34', [3] => '23', [0] => '12', [1] => '8'"
我想以同样的方式对$arr1 进行排序,所以它也是:
$arr1 = array('2' => '34', [3] => '23', [0] => '12', [1] => '8');
如何才能使数组按相同的键顺序排序?
【问题讨论】:
-
为什么这个相关数据在两个单独的数组中?
-
有点不清楚你想要的结果是什么。你说你想要
$arr1 = array('2' => '34', [3] => '23', [0] => '12', [1] => '8');,但我认为事实并非如此 -
@PatrickQ 我认为他的意思是
array(4) { [2]=> string(5) "James" [3]=> string(5) "Harry" [0]=> string(4) "John" [1]=> string(6) "George" },他没有更改值。 -
@ishegg 我也这么认为,但我不想假设/猜测
标签: php arrays string sorting key