La méthode contains() va vous permettre de vérifier qu'une valeur existe bien dans une collection.
Premier exemple
$collection = collect([1, 2, 3, 4, 5]); $collection->contains(function ($value, $key) { return $value > 5; }); // false
Dans cet exemple, on voit bien que notre collection ne contient pas de valeurs supérieures à 5. Par conséquent, la valeur false nous sera retournée.
Un autre exemple
$collection = collect(['name' => 'Voiture', 'price' => 15000]); $collection->contains('Voiture'); // true $collection->contains('Moto'); // false
3ème exemple
$collection = collect([ ['name' => 'Voiture', 'price' => 15000], ['name' => 'Moto', 'price' => 8000], ]); $collection->contains('name', 'Moto'); // true $collection->contains('name', 'Bateau'); // false
La méthode contains() utilise des comparaisons non strictes lors de la vérification des valeurs des éléments, ce qui signifie qu'une chaîne de caractères avec une valeur entière sera considérée comme égale à un entier de la même valeur. Utilisez la méthode containsStrict() pour filtrer en utilisant des comparaisons strictes.
Cours rédigé par Vincent, publié le 30/04/2021