Laravel Collection - méthode contains()

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