你好親愛的堆疊溢位者,
我正在嘗試將一個名為“text1”的集合與另一個名為“text2”的集合進行比較。
我想實作它把“text1”和“text2”都具有的所有值放入另一個集合中。
我已經嘗試過使用 Diff 和 DiffKeys(請參閱比較laravel 中的兩個集合陣列)。
但是我無法完全理解如何使用這些函式將 2 個集合的值相互比較。在我看來,這兩個函式(Diff 和 DiffKeys)需要一個密鑰,我(還)沒有專門使用它來提取我的部分收藏。
我的“text1”集合如下所示:
$text1 = collect('burger', 'cheese', 'bread', 'ham');
我的“text2”集合如下所示:
$text2 = collect('cheese', 'bread', 'tomato');
我想從中提取的是“text1”和“text2”中的所有值。所以在這種情況下,它應該回傳:
'cheese', 'bread'
(因為這些值都在 'text1' 和 'text2' 中)
有沒有簡單的方法來實作這一目標?
非常感謝你幫助我。
問候
戴夫
uj5u.com熱心網友回復:
您希望Collections 上intersect可用的方法:
$intersect = $text1->intersect($text2);
$intersect->all(); // [1 => 'cheese', 2 => 'bread']
uj5u.com熱心網友回復:
在這種情況下,您需要相交方法:
intersect 方法從原始集合中洗掉給定陣列或集合中不存在的任何值。生成的集合將保留原始集合的鍵:
$text1Collection = collect('burger', 'cheese', 'bread', 'ham');
$text2Collection = collect('cheese', 'bread', 'tomato');
$resultCollection =$text1Collection->intersect($text2Collection);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/351803.html
