REFによって二つの配列と次出力を比較します言語REFEにPHPは、私が参照によって配列順序(リスト)を持っている
Result : Array
(
[0] => Blue
[1] => Red
[2] => Orange
[3] => Yellow
[4] => Pink
)
任意のアイデア:$a
ため+新(S)の要素(複数可)でのように、なるように結果($b
)それとも?
REFによって二つの配列と次出力を比較します言語REFEにPHPは、私が参照によって配列順序(リスト)を持っている
Result : Array
(
[0] => Blue
[1] => Red
[2] => Orange
[3] => Yellow
[4] => Pink
)
任意のアイデア:$a
ため+新(S)の要素(複数可)でのように、なるように結果($b
)それとも?
あなたはあなたがまたarray_uniqueを使用できる値のキーを維持するのに興味がない場合の$ A +差($のBA)
$a = array('Blue', 'Red', 'Orange', 'Yellow');
$b = array('Orange', 'Blue', 'Yellow', 'Red', 'Pink');
$merged = array_merge($a, array_diff($b, $a));
print_r($merged);
出力
Array
(
[0] => Blue
[1] => Red
[2] => Orange
[3] => Yellow
[4] => Pink
)
をやっ配列インデックスを保持したい場合
$merged = array_unique(array_merge($a, $b)));
print_r($merged);
出力:
array_mergeとArray
(
[0] => Blue
[1] => Red
[2] => Orange
[3] => Yellow
[8] => Pink
)
これは必ずしも注文を保存するとは限りません。 ['array_diff()'](http://php.net/manual/en/function.array-diff.php)と['array_merge()'](http:// php。 net/manual/en/function.array-merge.php)を使用して、必要な結果を取得します。 – Phylogenesis
@Phylogenesis:OPには順序を保存することについて何も言及されていません。 –
質問から: "私の結果($ b)は、$ aオーダー+新しい(s)エレメントのように" – Phylogenesis
usortとarray_search機能を使用してソリューション:
$a = ['Blue', 'Red', 'Orange', 'Yellow'];
$b = ['Orange', 'Blue', 'Yellow', 'Red', 'Pink'];
usort($b, function($x, $y) use ($a){
$idx_x = array_search($x, $a);
$idx_y = array_search($y, $a);
if ($idx_x === false || $idx_y === false) return 1;
return $idx_x - $idx_y;
});
print_r($b);
出力: アレイ
(
[0] => Blue
[1] => Red
[2] => Orange
[3] => Yellow
[4] => Pink
)
使用 '' $のB'で新しい要素を取得するにはarray_diff'、およびそれらを追加その結果を得るために '$ a'に渡します。 – Barmar
SOは無料のコーディングサービスではありません。自分で問題を解決しようとする試みが必要です。あなたがそれを働かせることができない場合は、あなたが試したものを投稿してください。 – Barmar
これはとても速いです。私に助けてくれてありがとう、もし誰かを助けることができれば、私はAce_Gentileのようにやります。 G. – gmni