Matriz PHP: asociativa, multidimensional

⚡ Resumen inteligente

Los arrays de PHP almacenan múltiples valores relacionados dentro de una sola variable, lo que facilita agrupar y procesar datos relacionados. Este tutorial abarca arrays numéricos, asociativos y multidimensionales, los operadores de comparación de arrays y funciones básicas como count, sort, ksort y asort.

  • 🧰 ¿Qué hacen los arreglos? Un array almacena múltiples valores relacionados en una sola variable, a los que se accede mediante claves numéricas o con nombre, en lugar de muchas variables separadas.
  • 🔢 Matrices numéricas: Los arreglos numéricos utilizan claves de índice entero que comienzan en cero para leer o asignar cada elemento almacenado.
  • 🏷️ Matrices asociativas: Los arreglos asociativos usan claves de cadena descriptivas, lo cual es ideal para emparejar nombres con valores o mapas.ping campos de la base de datos.
  • 🧬 Multidimensional: Una matriz multidimensional anida matrices dentro de una matriz, agrupadasping Datos estructurados, como películas organizadas por categoría.
  • 🇧🇷 Formación Operatores: El operador de unión combina matrices, mientras que == comprueba la igualdad de valores y === también comprueba el orden de las claves y los tipos de datos.
  • 🔧 Funciones de matriz: count, is_array, sort, ksort y asort informan sobre el contenido de los arrays y lo reordenan por valor o por clave.
  • 🤖 Asistencia de IA: Las herramientas de IA pueden convertir las filas de la base de datos en matrices asociativas y ayudar a depurar estructuras de matrices multidimensionales confusas.

Matrices PHP

¿Qué es una matriz PHP?

Una matriz PHP es una variable que almacena más de un dato relacionado en una sola variable.

Piense en una matriz como si fuera una caja de bombones con ranuras en su interior.

La caja representa la matriz en sí, mientras que los espacios que contienen chocolates representan los valores almacenados en la matriz.

Los ejemplos que aparecen a continuación ilustran cómo funciona esto.

Matrices numéricas

Las matrices numéricas utilizan números como claves de acceso.

Una clave de acceso es una referencia a una ranura de memoria en una variable de matriz.

La clave de acceso se utiliza siempre que queremos leer o asignar un nuevo valor a un elemento de una matriz.

A continuación se muestra la sintaxis para crear un array numérico en PHP.

Ejemplo de matriz

<?php
$variable_name[n] = value;
?>

Or

<?php
$variable_name = array(n => value, ...);
?>

AQUÍ,

  • “$variable_name…” es el nombre de la variable
  • “[n]” es el número de índice de acceso del elemento
  • “valor” es el valor asignado al elemento de la matriz.

Veamos ahora un ejemplo de una matriz numérica.

Supongamos que tenemos 5 películas que queremos almacenar en variables de matriz.

Podemos usar el ejemplo que se muestra a continuación para hacer eso.

<?php

$movie[0] = 'Shaolin Monk';
$movie[1] = 'Drunken Master';
$movie[2] = 'American Ninja';
$movie[3] = 'Once upon a time in China';
$movie[4] = 'Replacement Killers';

?>

Aquí,

Matriz PHP

A cada película se le asigna un número de índice que se utiliza para recuperar o modificar su valor. Observe el siguiente código.

<?php
$movie[0]="Shaolin Monk";
$movie[1]="Drunken Master";
$movie[2]="American Ninja";
$movie[3]="Once upon a time in China";
$movie[4]="Replacement Killers";
echo $movie[3];
$movie[3] = " Eastern Condors";
echo $movie[3];
?>

Salida:

Once upon a time in China Eastern Condors

Como puede ver en los ejemplos anteriores, trabajar con matrices en PHP cuando se trata de múltiples valores de la misma naturaleza es muy fácil y flexible.

Alternativamente, las variables de matriz anteriores también se pueden crear utilizando el siguiente código.

<?php
$movie = array(0 => "Shaolin Monk",
1 => "Drunken Master",
2 => "American Ninja",
3 => "Once upon a time in China",
4 => "Replacement Killers" );
echo $movie[4];
?>

Salida:

Replacement Killers

Matriz asociativa PHP

Los arreglos asociativos se diferencian de los arreglos numéricos en que los arreglos asociativos utilizan nombres descriptivos para las claves de identificación.

A continuación se muestra la sintaxis para crear un array asociativo en PHP.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

AQUÍ,

  • “$variable_name…” es el nombre de la variable
  • “['key_name']” es la clave de acceso del elemento
  • “valor” es el valor asignado al elemento de la matriz.

Supongamos que tenemos un grupo de personas y queremos asignar el género de cada persona a su nombre.

Podemos usar un array asociativo para ello. El siguiente código nos ayuda a lograrlo.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons);
echo "";
echo "Mary is a " . $persons["Mary"];
?>

AQUÍ,

Matriz PHP

Salida:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Los arreglos asociativos también son muy útiles al recuperar datos de la base de datos.

Los nombres de los campos se utilizan como claves de identificación.

Matrices PHP multidimensionales

Estas son matrices que contienen otras matrices anidadas.

La ventaja de las matrices multidimensionales es que nos permiten agrupar datos relacionados.

Veamos ahora un ejemplo práctico que implementa un array multidimensional en PHP.

La siguiente tabla muestra una lista de películas por categoría.

Título de la película Categoría
Pantera Rosa Comedia
John inglés Comedia
Die Hard Acción:
Expendables Acción:
El Señor de los Anillos Épico
Romeo y Julieta Romance
No veo maldad no oigo maldad Comedia

La información anterior se puede representar como una matriz multidimensional. El siguiente código muestra la implementación.

<?php
$movies = array(
"comedy" => array("Pink Panther", "John English", "See no evil hear no evil"),
"action" => array("Die Hard", "Expendables"),
"epic" => array("The Lord of the rings"),
"Romance" => array("Romeo and Juliet")
);
print_r($movies);
?>

AQUÍ,

Matriz PHP

Salida:

Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )

Otra forma de definir el mismo array es la siguiente.

<?php
$film = array(
"comedy" => array(
0 => "Pink Panther",
1 => "John English",
2 => "See no evil hear no evil"
),
"action" => array (
0 => "Die Hard",
1 => "Expendables"
),
"epic" => array (
0 => "The Lord of the rings"
),
"Romance" => array
(
0 => "Romeo and Juliet"
)
);
echo $film["comedy"][0];
?>

Salida:

Pink Panther

Nota: la matriz numérica de películas se ha anidado dentro de la matriz asociativa de categorías.

Matrices PHP: Operatoros

Operator Nombre Mareas Ideales para Lecciones ¿Cómo hacerlo? Resultado
x+y Union Combina elementos de ambas matrices.
<?php
$x = array('id' => 1);

$y = array('value' => 10);

$z = $x + $y;
?>
Matriz([id] => 1 [valor] => 10)
x == y Igual Compara dos matrices y devuelve verdadero si son iguales.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Verdadero o 1
x === y Idéntico Compara tanto los valores como tipos de datos
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Falso o 0
x != y, x <> y No es igual Devuelve verdadero si los dos arrays no son iguales.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Falso o 0
x !== y No identicos Devuelve verdadero si los dos arrays no son idénticos en valor o tipo.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Verdadero o 1

Funciones de matriz PHP

Función de conteo

La función count se utiliza para contar el número de elementos que contiene un array de PHP. El siguiente código muestra su implementación.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

Salida:

3

función is_array

La función is_array se utiliza para determinar si una variable es un array o no. Veamos ahora un ejemplo que implementa la función is_array.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Salida:

1

Ordenar

Esta función se utiliza para ordenar matrices según sus valores.

Si los valores son alfanuméricos, los ordena alfabéticamente.

Si los valores son numéricos, los ordena en orden ascendente.

Elimina las teclas de acceso existentes y añade nuevas teclas numéricas.

El resultado de esta función es una matriz numérica.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

Salida:

Array ( [0] => Female [1] => Female [2] => Male )

sortear

Esta función se utiliza para ordenar la matriz mediante la clave. El siguiente ejemplo ilustra su uso.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>

Salida:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

surtido

Este función se utiliza para ordenar la matriz usando los valores mientras se mantieneping las claves. El siguiente ejemplo ilustra su uso.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>

Salida:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

¿Por qué utilizar matrices?

  • El contenido de los arrays se puede ampliar para contener más valores.
  • Las matrices facilitan la agrupación de información relacionada, como los datos de inicio de sesión del servidor.
  • Las matrices ayudan a escribir código más limpio.

Preguntas Frecuentes

El bucle foreach es la forma más común. Escribe foreach ($array as $value) para leer cada valor, o foreach ($array as $key => $value) para leer tanto la clave como el valor de cada elemento en el array.

La función `sort()` reordena los valores y reindexa el array con nuevas claves numéricas, perdiendo las claves originales. La función `asort()` ordena por valor, pero mantiene cada valor vinculado a su clave original, lo cual es importante para los arrays asociativos.

Para añadir un elemento, utilice array_push() o $arr[] = value, y para eliminarlo del principio o del final, utilice array_pop() o array_shift(). Para eliminar un elemento específico por clave, utilice la función unset().

Sí. La IA puede escribir el bucle de obtención que asigna cada fila a una matriz asociativa indexada por el nombre de la columna, y sugerir el uso de métodos de obtención que devuelvan matrices asociativas directamente desde el controlador de la base de datos.

Sí. Pega la salida de print_r o var_dump, y la IA puede explicar el anidamiento, mostrar la ruta exacta a un valor como $film['comedy'][0], e identificar claves o niveles que no coinciden.

Resumir este post con: