請教 要求x包含y,x按y排序

來源:互聯網
上載者:User
怎麼說呢,其實就是要求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);

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.