"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 les colonnes de propriétés des tableaux d’objets en PHP ?

Comment extraire les colonnes de propriétés des tableaux d’objets en PHP ?

Publié le 2024-11-14
Parcourir:468

How Do You Extract Property Columns from Object Arrays in PHP?

Extraction de colonnes de propriétés à partir de tableaux d'objets

Pour extraire une colonne de propriétés d'un tableau d'objets sur une seule ligne, nous pouvons utiliser l'outil PHP Fonction array_column(), introduite dans PHP 7.0.

$cats = Array(
    (object) ['id' => 15],
    (object) ['id' => 18],
    (object) ['id' => 23]
);

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

La fonction array_column() prend deux paramètres :

  1. Le tableau d'objets à partir duquel extraire.
  2. Le nom de la propriété à extraire.

Dans ce cas, nous passons le tableau $cats comme premier paramètre et 'id' comme deuxième paramètre à extraire. les identifiants des chats.

Si vous utilisez des versions PHP antérieures à 7.0, vous pouvez l'implémenter en utilisant array_walk() et create_function(), comme suit :

$idCats = [];
array_walk($cats, function ($cat) {
    $idCats[] = $cat->id;
});

Cependant, l'utilisation de array_column() est une approche plus concise et efficace, en particulier dans PHP 7.0 et les versions ultérieures.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729385956. 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