3

という名前のスーパーヒーローの配列があり$heroesます:

$heroes=array("Hulk","Spiderman","IronMan");

という名前の基本的なパワーの配列があり$powersます:

$powers=array("Strong","Webs","Machine");

$heroes配列をアルファベット順に並べ替えて、次のように表示したいと思います。

$heroes=array("Hulk","IronMan","Spiderman");

これで、$heroes 配列に基づいてパワーをソートして、次のように表示したいと思います。

$powers=array("Strong","Machine","Webs");

2 次元配列を使用したくありません。別の配列にする必要があります。何か案は?

4

3 に答える 3

4

はい、できます。それarray_multisort()が目的です。小さな例です。

array_multisort( $heroes, SORT_ASC|SORT_STRING, $powers);

または単純な(より単純な):

array_multisort( $heroes, $powers);

ただし、並べ替えの種類と並べ替え順序を明示的にすることをお勧めします。

于 2012-02-11T19:20:11.757 に答える
1
$array3 = array_combine($array1, $array2);
asort($array3);

$array1 = array_keys($array3);
$array2 = array_values($array3);
于 2012-02-11T19:22:55.820 に答える
1
array_multisort($heroes,$powers);
于 2012-02-11T19:21:02.923 に答える