"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 convertir una cadena en una matriz asociativa usando funciones de matriz?

¿Cómo convertir una cadena en una matriz asociativa usando funciones de matriz?

Publicado el 2024-11-07
Navegar:914

How to Convert a String to an Associative Array Using Array Functions?

Convertir cadena en matriz asociativa con funciones de matriz

En PHP, a menudo surge la necesidad de transformar una cadena que contiene pares clave-valor en una matriz asociativa. Considere una cadena como "1-350,9-390.99", donde cada elemento está separado por un guión y una coma. El objetivo es crear una matriz asociativa donde el primer número de cada elemento se convierte en la clave y el segundo número se convierte en el valor.

Lograr esta conversión se puede realizar de manera eficiente utilizando las funciones de matriz integradas de PHP. El primer paso consiste en dividir la cadena en matrices individuales usando preg_split("/[-,]/", $input), que separa los números mediante guiones y comas. El resultado es una lista de submatrices, cada una de las cuales contiene una clave y un valor.

A continuación, usamos array_chunk para agrupar estas submatrices en partes de dos, asegurando que un elemento contenga la clave y el otro. el valor. Finalmente, array_column se emplea para extraer las claves y los valores en matrices separadas. El uso de array_combine en estas matrices produce la matriz asociativa deseada.

Fragmento de código:

$input  = '1-350,9-390.99';

$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));

Salida:

Array
(
    [1] => 350
    [9] => 390.99
)

Este método convierte efectivamente la cadena en una matriz asociativa sin recurrir a bucles, lo que muestra el poder de las funciones de matriz de PHP.

Declaración de liberación Este artículo se reimprime en: 1729549336 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