iT邦幫忙

0

請教:PHP 使用array_intersect陣列交集時,括號內的變數問題

  • 分享至 

  • xImage
$a = array("a","b","c");
$b = array("b","c","d");
$c = array("c","d","e");

以上的$a,$b,$c會有隨機多個,接下來要在這幾個陣列做交集(array_intersect),請教各位前輩,有没有辨法做一個直接包含這三個(其實是隨機多個)陣列名稱的變數,放進array_intersect()內的陣列參數,如:(以下方法是失敗的 ???)

$dd='$a,$b,$c';
array_intersect($dd);
miku3920 iT邦新手 2 級 ‧ 2021-08-29 14:58:17 檢舉
不太清楚你想做什麼,直接放進去 array_intersect($a, $b, $c),這樣不就好了嗎
zzhsu20 iT邦新手 5 級 ‧ 2021-08-29 21:46:11 檢舉
謝謝miku3920兄,是我說明不清楚,下面有人解答了,感謝
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
小魚
iT邦大師 1 級 ‧ 2021-08-29 15:04:01

因為你放進去的不是陣列啊,
如果你要用不確定數量的陣列,
應該可以自己寫一個方法,
然後再來呼叫array_intersect.

zzhsu20 iT邦新手 5 級 ‧ 2021-08-29 21:47:04 檢舉

謝謝小魚兄,有想過自己寫一個方法,但想說應該有更好的方法,下面有人解答了,感謝

0
淺水員
iT邦大師 6 級 ‧ 2021-08-29 15:14:28
$a = array("a","b","c");
$b = array("b","c","d");
$c = array("c","d","e");

$all = array($a, $b, $c);

//方法一
$result = array_intersect(...$all);
var_dump($result);

//方法二
$result = call_user_func_array('array_intersect', $all);
var_dump($result);
zzhsu20 iT邦新手 5 級 ‧ 2021-08-29 21:48:46 檢舉

太棒了,謝謝淺水員兄,原來這樣就正解了,没有想到這個方法
$all = array($a, $b, $c);
再次感謝您的解答。

小魚 iT邦大師 1 級 ‧ 2021-08-30 09:03:08 檢舉

原來可以這樣寫啊,
還沒研究過...

我要發表回答

立即登入回答