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
asort($normalArray);

これにより、配列のインデックスが維持されます。

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

于 2013-02-06T08:35:15.297 に答える
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

I believe what you are looking for is asort.

于 2013-02-06T07:02:00.753 に答える
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 に答える