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é 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í,
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Í,
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Í,
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.



