Quand est apparue cette méthode ?
depuis Laravel v5.1
Description
Encore une fonction simple que tu vas adorer. Elle te permet de passer dans une moulinette tous les éléments de ta collection et de vérifier si TOUS (j’ai bien TOUS) les éléments remplissent la condition d’une fonction anonyme que tu leur aura gentillement soumis.
Exemples
Il y a 2 exemples pour cette collection
Exemple #1 : Every string ?
Collection utilisée
Cliquez sur chaque collection pour voir son code, ou cliquez sur le bouton 'Voir toutes les
collections' pour toutes les ouvrir en une fois.
// 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"
]);
$testItemsAreString = $languages->every(function ($value, $key) {
return is_string($value);
});
var_dump($testItemsAreString);
Résultat
bool(true)
Exemple #2 : Every string ? -- with more complex collection
Collection utilisée
Cliquez sur chaque collection pour voir son code, ou cliquez sur le bouton 'Voir toutes les
collections' pour toutes les ouvrir en une fois.
// 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
]
);
$testItemsAreString = $complexe->every(function ($value, $key) {
return is_string($value);
});
var_dump($testItemsAreString);
Résultat
bool(false)