如何检查数组是否包含多个字符串Laravel



我有收集

IlluminateSupportCollection {#1453
#items: array:4 [
0 => "three"
1 => "nine"
2 => "one"
3 => "two"
]
}

和这个字符串

'one', 'two', 'three'

我正在尝试验证阵列中是否所有字符串都可用

$array->contains('one', 'two', 'three')

它应该返回真正的

但每次我得到错误的

我做错了什么请解释谢谢

对于可重用的containsAll宏,我将Collection:diffCollection::isEmpty结合使用。当提供的值包含集合中未包含的元素时,检查diff的结果不会为空,因此返回false。

use IlluminateSupportCollection;
Collection::macro('containsAll', function (...$values) {
return collect($values)->diff($this)->isEmpty();
});
$collection = collect(['three', 'nine', 'one', 'two']);
$collection->containsAll('one', 'two', 'three'); // true
$collection->containsAll('one', 'five', 'three'); // false

最新更新