怎麼說呢,其實就是要求x包含y,x按y排序
比較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)
第二問不明晰
$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;
print_r($z);