ホームページ >バックエンド開発 >PHPチュートリアル >質問してください: x には y が含まれており、x は y でソートされています

質問してください: x には y が含まれており、x は y でソートされています

WBOY
WBOYオリジナル
2016-06-23 14:38:131286ブラウズ

なんと言うか、実際には y を含むには x が必要で、x は y によってソートされます
2 つの配列 x と y を比較します。
x の長さが y より大きい場合は、x 配列内の追加のキーを次の配列に追加します。 y 配列の終わり
例:
$x = array(0=>'a', 1=>'b', 2=>'c', 3=>'d', 4= >'e');
$y = array(2=>'c', 4=>'e', 0=>'a');
結果は array(2=>c') ', 4=>'e', 0=>'a', 1=>'b', 3=>'d');

x の長さが y より小さい場合は、余分な部分を削除します最初に y 配列のキーを配置します
$x = array( 0=>'a', 1=>'b');
$y = array(2=>'c', 4=>'e' , 0=>'a');
結果は array(0=>'a', 1=>'b');


ディスカッションへの返信 (解決策)

最初の質問
$x = array(0=>'a', 1=>'b', 2=>'c', 3=>'d', 4=>'e');$y = array(2=>'c', 4=>'e', 0=>'a');$c = array_diff_key($x, $y);$z = $y + $c;print_r($z);

Array(    [2] => c    [4] => e    [0] => a    [1] => b    [3] => d)


2 番目の質問は明確ではありません
$x = array(0=>'a', 1=>'b');
$y = array(2=>'c', 4= >'e', 0=>'a');
結果は array(0=>'a', 1=>b'); //これは単なる $x ではないでしょうか?
$y とは何の関係もありません

ありがとう。学んだ!
違い、交差点、結合。 。 。私は本当に愚かです

$x = array(2=>'c', 4=>'e', 0=>'a');
$y = array(0=>'a' , 1=>'b', 3=>'d', 4=>'e'); //必要な結果は次のとおりです: array(0=>'a', 4=>'e ', 2=>'c');

//最初に y x の交点を見つけます (yx は xy ではありません)
$jj = array_intersect($y, $x)
//次に、x y の差集合を見つけます。
$bj = array_diff_key($x, $y);

$z = $jj + $bj
;

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。