Laravel collections

méthode contains()

Quand est apparue cette méthode ?

depuis Laravel v5.1

Description


Exemples

Il y a 5 exemples pour cette collection

Exemple #1 : Vérifions que le language 'c' est présent dans notre collection

Collection utilisée

    
        // define languages collection
        $this->languages = collect([
            'php',
            'python',
            'javascript',
            'go',
            'c#',
            'java',
            'cobol',
            'basic'
        ]);

        Illuminate\Support\Collection {#413 ▼
            #items: array:8 [▼
                0 => "php"
                1 => "python"
                2 => "javascript"
                3 => "go"
                4 => "c#"
                5 => "java"
                6 => "cobol"
                7 => "basic"
            ]
        }
    

Code source


$languages = collect([
            "php",
            "python",
            "javascript",
            "go",
            "c#",
            "java",
            "cobol",
            "basic"
            ]);

$result = $languages->contains('c');
var_dump($result);

Résultat

    
bool(false)
    

Exemple #2 : Vérifions que le language 'C#' est présent dans notre collection

Collection utilisée

    
        // define languages collection
        $this->languages = collect([
            'php',
            'python',
            'javascript',
            'go',
            'c#',
            'java',
            'cobol',
            'basic'
        ]);

        Illuminate\Support\Collection {#413 ▼
            #items: array:8 [▼
                0 => "php"
                1 => "python"
                2 => "javascript"
                3 => "go"
                4 => "c#"
                5 => "java"
                6 => "cobol"
                7 => "basic"
            ]
        }
    

Code source


$languages = collect([
            "php",
            "python",
            "javascript",
            "go",
            "c#",
            "java",
            "cobol",
            "basic"
            ]);

$result = $languages->contains('C#');
var_dump($result);

Résultat

    
bool(false)
    

Exemple #3 : Vérifions que le language 'c#' (en minuscule) est présent dans notre collection

Collection utilisée

    
        // define languages collection
        $this->languages = collect([
            'php',
            'python',
            'javascript',
            'go',
            'c#',
            'java',
            'cobol',
            'basic'
        ]);

        Illuminate\Support\Collection {#413 ▼
            #items: array:8 [▼
                0 => "php"
                1 => "python"
                2 => "javascript"
                3 => "go"
                4 => "c#"
                5 => "java"
                6 => "cobol"
                7 => "basic"
            ]
        }
    

Code source


$languages = collect([
            "php",
            "python",
            "javascript",
            "go",
            "c#",
            "java",
            "cobol",
            "basic"
            ]);

$result = $languages->contains('c#');
var_dump($result);

Résultat

    
bool(true)
    

Exemple #4 : Recherche par clé dans la collection 'complexe'

Collection utilisée

    
        // define complexe collection
        $this->complexe = collect(
            [
                ['name' => 'php',
                'python',
                'javascript',
                'go',
                'c#',
                'java',
                'cobol',
                'basic'],
                [-2, 200.3, -7.8, 400.1],
                ['ref' => 'XZ42', 'price' => 200.7, 'tags' => ['red', 'new']],
                'totalprice' => 422
            ]
        );

        Illuminate\Support\Collection {#423 ▼
            #items: array:4 [▼
              0 => array:8 [▼
                "name" => "php"
                0 => "python"
                1 => "javascript"
                2 => "go"
                3 => "c#"
                4 => "java"
                5 => "cobol"
                6 => "basic"
              ]
              1 => array:4 [▼
                0 => -2
                1 => 200.3
                2 => -7.8
                3 => 400.1
              ]
              2 => array:3 [▼
                "ref" => "XZ42"
                "price" => 200.7
                "tags" => array:2 [▼
                  0 => "red"
                  1 => "new"
                ]
              ]
              "totalprice" => 422
            ]
          }
    

Code source


$complexe = collect(
            [
                ["name" => "php",
                "python",
                "javascript",
                "go",
                "c#",
                "java",
                "cobol",
                "basic"],
                [-2, 200.3, -7.8, 400.1],
                ["ref" => "XZ42", "price" => 200.7, "tags" => ["red", "new"]],
                "totalprice" => 422
            ]
        );

// recherche de la clé valeur 'ref', 'XZ42'
echo "<h1>Key search 'ref','XZ42'</h1>" . PHP_EOL;
$result = $complexe->contains('ref', 'XZ42');
var_dump($result);

// recherche de la clé valeur 'ref', 'XZ43'
echo "<h1>Key search 'ref','XZ43'</h1>" . PHP_EOL;
$result = $complexe->contains('ref', 'XZ43');
var_dump($result);

// recherche uniquement de la clé valeur 'ref'
echo "<h1>Key search 'ref',''</h1>" . PHP_EOL;
$result = $complexe->contains('ref', '');
var_dump($result);

Résultat

    

Key search 'ref','XZ42'

bool(true)

Key search 'ref','XZ43'

bool(false)

Key search 'ref',''

bool(true)

Exemple #5 : La méthode contains avec un callback

Collection utilisée

                
                    // define collection numbers
                    $numbers = collect([-2, 200.3, -7.8, 400.1]);

                    Illuminate\Support\Collection {#416 ▼
                        #items: array:4 [▼
                          0 => -2
                          1 => 200.3
                          2 => -7.8
                          3 => 400.1
                        ]
                      }
                
            

Code source


$numbers = collect([-2, 200.3, -7.8, 400.1]);

// IMPORTANT : la fonction de callback ne semble fonctionner que sur une collection plate n’en imbriquant pas d’autres.
$result = $numbers->contains(function ($value, $key){
    return ($value < -8 or $value > 500);
});
var_dump ($result);

Résultat

    
bool(false)