"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo extraer una columna de propiedades de una matriz de objetos en PHP?

¿Cómo extraer una columna de propiedades de una matriz de objetos en PHP?

Publicado el 2024-11-06
Navegar:950

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

PHP: extraiga eficientemente una columna de propiedades de una matriz de objetos

Muchos escenarios de programación implican trabajar con matrices de objetos, donde cada objeto puede tener múltiples propiedades. En ocasiones, resulta necesario extraer una propiedad específica de cada objeto para formar una matriz separada. En PHP, lograr este objetivo en una sola línea, sin recurrir a bucles o funciones externas, puede ser complicado.

Un posible enfoque es utilizar la función array_walk() junto con create_function. Sin embargo, hay una solución más sencilla y elegante disponible en PHP 7.0 y posteriores.

array_column() al rescate

La función array_column() se introdujo en PHP 7.0 y le permite extraer una columna específica de datos de una matriz de matrices o matrices de objetos. Simplemente pase su conjunto de objetos como primer parámetro y el nombre de la propiedad deseada como segundo parámetro:

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

En este ejemplo, la variable $idCats ahora contendrá una matriz de los ID de todos los objetos de gatos.

Nota para versiones de PHP anteriores a 7.0

Si Si estás usando una versión de PHP anterior a la 7.0, aún puedes usar la función array_map():

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

Si bien este método es un poco más detallado, logra el mismo resultado.

Al aprovechar array_column() o array_map(), puede extraer eficientemente una columna de propiedades de una matriz de objetos en PHP, lo que le permite optimizar su código y mejorar el rendimiento.

Declaración de liberación Este artículo se reimprime en: 1729386019 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3