iT邦幫忙

0

(已解決)php array 問題請教

請教各位,有兩個array的範例如下:
array1
(
[0] => 大雄
[1] => 小夫
[2] => 靜香
)
array2
(
[0] => 大雄
[1] => 哆啦A夢
[2] => 哆啦美
[3] => 胖虎
[4] => 靜香
)


我想要依array2為主,留下與array1沒有重複的內容,如下:
array
(
[0] => 哆啦A夢
[1] => 哆啦美
[2] => 胖虎
)


目前我是寫成這樣:
array
(
[0] => 大雄
[1] => 靜香
)

程式如下:

foreach($array1 as $x => $x_value) {
	foreach($array2 as $list => $list_value) {
		if($x == $list){
			$leave = "Key=".$list."&Value=".$list_value;
            $leave_arr[] = str_replace("\r","",$leave);
		}
	}
}
print_r($leave_arr);

我知道應該把

if($x == $list)

改成

if($x !== $list)

但結果還是不理想,想請教是否哪裡還有錯誤?/images/emoticon/emoticon06.gif謝謝

2 個回答

0
dragonH
iT邦超人 5 級 ‧ 2019-05-20 14:25:52
最佳解答

文章是不是打錯了?

array
(
[0] => 哆啦A夢
[1] => 哆啦美
[3] => 胖虎
)
這應該是你要結果

<?php
  $arr1 = array('大雄', '小夫', '靜香');
  $arr2 = array('大雄', '哆啦A夢', '哆啦美', '胖虎', '靜香');
  var_dump(array_diff($arr2, $arr1));
  /*
    array(3) {
      [1]=>
      string(10) "哆啦A夢"
      [2]=>
      string(9) "哆啦美"
      [3]=>
      string(6) "胖虎"
    }
  */
?>
小斑 iT邦新手 4 級 ‧ 2019-05-20 14:54:12 檢舉

文章打錯了,已修正︿︿"
也感謝提供方法,謝謝。

0
icelonely0831
iT邦新手 5 級 ‧ 2019-05-20 14:25:20

你是想要比較兩個陣列的差別嗎?
如果是 可以使用array_diff($array1,$array2)

小斑 iT邦新手 4 級 ‧ 2019-05-20 14:52:44 檢舉

謝謝

我要發表回答

立即登入回答