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

Mary-Kate Olsen
Libérer: 2024-10-20 09:02:30
original
482 Les gens l'ont consulté

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() à la rescousse

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 :

<code class="php">$idCats = array_column($cats, 'id');</code>
Copier après la connexion

Dans cet exemple, la variable $idCats contiendra désormais un tableau des ID 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() :

<code class="php">$idCats = array_map(function($cat) { return $cat->id; }, $cats);</code>
Copier après la connexion

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 d'objets en PHP, vous permettant de rationaliser votre code et d'améliorer les performances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!