"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment extraire une colonne de propriétés d’un tableau d’objets en PHP ?

Comment extraire une colonne de propriétés d’un tableau d’objets en PHP ?

Publié le 2024-11-06
Parcourir:588

How to Extract a Column of Properties from an Array of Objects in PHP?

PHP : extraire efficacement une colonne de propriétés d'un tableau d'objets

De nombreux scénarios de programmation impliquent de travailler avec des tableaux d'objets, où chaque objet peut avoir plusieurs propriétés. Parfois, il devient nécessaire d’extraire une propriété spécifique de chaque objet pour former un tableau distinct. En PHP, atteindre cet objectif en une seule ligne, sans recourir à des boucles ou à des fonctions externes, peut être délicat.

Une approche potentielle consiste à utiliser la fonction array_walk() avec create_function. Cependant, une solution plus simple et élégante est disponible dans PHP 7.0 et versions ultérieures.

array_column() à Rescue

La fonction array_column() a été introduite dans PHP 7.0. et vous permet d'extraire une colonne de données spécifique d'un tableau de tableaux ou de tableaux d'objets. Passez simplement votre tableau d'objets en premier paramètre et le nom de la propriété souhaitée en deuxième paramètre :

$idCats = array_column($cats, 'id');

Dans cet exemple, la variable $idCats contiendra désormais un tableau des identifiants de tous les objets cats.

Remarque pour les versions PHP antérieures à 7.0

Si vous utilisez une version PHP antérieure à 7.0, vous pouvez toujours utiliser la fonction array_map() :

$idCats = array_map(function($cat) { return $cat->id; }, $cats);

Bien que cette méthode soit légèrement plus détaillée, elle obtient le même résultat.

En tirant parti de array_column() ou array_map(), vous pouvez extraire efficacement une colonne de propriétés d'un tableau de objets en PHP, vous permettant de rationaliser votre code et d'améliorer les performances.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729386019. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3