在PHP中排序两个对应的数组

在PHP中排序两个对应的数组,php,arrays,sorting,Php,Arrays,Sorting,我有两个数组,都有数字,但都是按特定顺序从数据库中提取的。 所以我想做的是在一种加入模式下对其中一个进行排序,然后第二个数组重新排列它的值以对应第一个数组。 比如说 $firstarray=array(14,30,20); $secondarray=array(4,2,3); 因此,在我们的示例中,我需要将第一个数组变为(14,20,30),可以使用sort函数生成,但第二个数组也必须变为(4,3,2)才能与第一个数组相对应 有什么想法吗?您可以使用array\u combine创建一个数组,

我有两个数组,都有数字,但都是按特定顺序从数据库中提取的。 所以我想做的是在一种加入模式下对其中一个进行排序,然后第二个数组重新排列它的值以对应第一个数组。 比如说

$firstarray=array(14,30,20);
$secondarray=array(4,2,3);
因此,在我们的示例中,我需要将第一个数组变为(14,20,30),可以使用sort函数生成,但第二个数组也必须变为(4,3,2)才能与第一个数组相对应


有什么想法吗?

您可以使用
array\u combine
创建一个数组,然后对其进行排序

您需要使用:


在线演示:

您可以使用array\u combine将第一个数组用作键,将第二个数组用作

$firstarray=array(14,30,20);
$secondarray=array(4,2,3);

$Array = array_combine($firstarray, $secondarray);
输出:

Array
(
    [14] => 4
    [30] => 2
    [20] => 3
)
Array
(
    [14] => 4
    [20] => 3
    [30] => 2
)
然后按asc对键进行排序

ksort($Array);
输出:

Array
(
    [14] => 4
    [30] => 2
    [20] => 3
)
Array
(
    [14] => 4
    [20] => 3
    [30] => 2
)
如果您想拥有一个单独的$secondarray,可以执行以下操作:

$secondarray = array_values($Array);
$secondarray = array_flip($secondarray); // Values are keys now.

谢谢你正是我需要的!从未听说过多重排序函数!