Rechercher une valeur dans une collection à partir d'une clé

Astuce pour trouver une valeur dans une collection. Prenons l'exemple ci-dessous avec notre variable $specificFilters

Illuminate\Support\Collection {#3455 ▼
  #items: array:2 [▼
    1 => array:3 [▼
      "id" => 621
      "name" => "Prix"
      "reference" => "prix"
    ]
    14 => array:3 [▼
      "id" => 619
      "name" => "Stock"
      "reference" => "stock"
    ]
  ]
}

L'idée étant de retrouver la collection ayant pour id : 619

$specificFilters->first(function($value) {
    return $value['id'] === 619;
})

Résultat :

array:3 [▼
  "id" => 619
  "name" => "Stock"
  "reference" => "stock"
]


Autre méthode :

$position = $specificFilters->search(function($value) {
    return $value['id'] === 619;
});

Maintenant qu'on a trouvé la clé du tableau, il ne reste plus qu'à extraire la valeur :

$specificFilters[$position];

Résultat :

array:3 [▼
  "id" => 619
  "name" => "Stock"
  "reference" => "stock"
]


Cours rédigé par Vincent, publié le 15/07/2021