1

我的第一个数组:

normalArray
(
    [0] => Business Class
    [2] => Economy
    [6] => First Class
)

我的排序数组:

sortArray
(
    [0] => Economy
    [1] => Business Class
    [2] => First Class
)

我试图把这个作为我的结果

resultsArray
(
    [2] => Economy
    [0] => Business Class
    [6] => First Class
)

请注意,键和值需要遵循正确的顺序。所以我需要按数组对数组进行排序,同时保留值的键。

我四处搜索并查看了许多不同的示例。

谢谢

4

5 回答 5

1

试试这个asort()arsort()

例子:

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
--OR--
arsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

上面的示例将输出:

a = orange
d = lemon
b = banana
c = apple

有关更多排序功能属性,请查看此链接

这可以帮助你。

于 2013-02-06T07:07:42.190 回答
0

试试这个arsort()

例子:

 normalArray
(
    [0] => Economy
    [2] => Business Class
    [6] => First Class
)

上面的示例将输出:

resultsArray
(
    [2] => Business Class
    [0] => Economy
    [6] => First Class
)
于 2013-02-06T07:17:38.480 回答
0

尝试这个:

$map = array_flip($sortArray);
uasort($normalArray,function($a,$b) use ($map) {return $map[$a] < $map[$b] ? -1 : 1});
于 2013-02-06T06:59:33.600 回答
0
asort($normalArray);

这维护了数组的索引。

参考: http: //php.net/manual/en/function.sort.php

于 2013-02-06T08:35:15.297 回答
0

我相信您正在寻找的是asort

于 2013-02-06T07:02:00.753 回答