0

私はこのような2つの配列を持っています

1) array(3) { [0]=> string(3) "max" [1]=> string(3) "min" [2]=> string(3) "med" } 

2) array(4) { [0]=> string(3) "max" [1]=> string(3) "min" [2]=> string(4) "other" [3]=> string(3) "med" } 

今、私は2つの配列の二重エントリをマージして削除したいのですが、重要なことは、最終配列の最初の配列の順序を維持することです(最大、最小、中 -> 最初の配列から、次に2番目の配列から他のすべて) )

2 つの配列の長さは、array(3) と array(4) が異なります。

$myfinalarray = (array_unique(array_merge($arr_first, $arr_last))); 

問題は注文が失われることです

結果:

array(4) { [0]=> string(3) "max" [1]=> string(3) "min" [2]=> string(4) "other" [3]=> string(3) "med" } 
what i need is this
array(4) { [0]=> string(3) "max" [1]=> string(3) "min" [2]=> string(3) "med" [3]=> string(4) "other" } 
4

3 に答える 3

0

以下のコードを確認してください。

  <?php
$arr1=array(0 => "max",1 => "min",2 => "med"); 

$arr3=array(0 => "max",1 => "min",2 => "other",3 =>"med");

$myfinalarray = (array_unique(array_merge($arr1, $arr3)));  
print_r($myfinalarray);
?>

出力は次のようになります。

Array
(
    [0] => max
    [1] => min
    [2] => med
    [5] => other
)

ここをチェック

于 2013-05-08T07:05:38.987 に答える
0

最初に 2 番目の配列から二重エントリを消去する必要があります。

$array_last = array_diff($arr_last, $arr_first);

その後

$myfinalarray = (array_unique(array_merge($arr_first, $arr_last)));
于 2013-05-08T07:01:58.960 に答える
0

順序は失われませんが、配列をアルファベット順に並べ替えたい場合はsort関数を使用します

$myfinalarray=sort($myfinalarray);
于 2013-05-08T07:00:06.720 に答える