Matriz PHP: asociativa, multidimensional

¿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 una box de bombones con ranuras en su interior.

El box representa la matriz en sí, mientras que los espacios que contienen chocolates representan los valores almacenados en las matrices.

El siguiente diagrama ilustra la sintaxis anterior.

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 una matriz numérica 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. observa lo siguientewing 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 usando el siguiente comandowing 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

Las matrices asociativas se diferencian de las matrices numéricas en el sentido de que las matrices asociativas utilizan nombres descriptivos para las claves de identificación.

A continuación se muestra la sintaxis para crear una matriz asociativa 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 el número de índice 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 sus nombres.

Podemos usar una matriz asociativa para hacer eso. El siguiente código nos ayuda a hacerlo.

<?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

Las matrices asociativas también son muy útiles a la hora de 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 una matriz multidimensional de 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 Tarjetas, flyers, carteles personalizados
Expendables Tarjetas, flyers, carteles personalizados
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 la misma matriz 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: operadores

Operador Nombre Descripción ¿Cómo hacerlo? Salida
x+y Unión 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 Compares dos matrices si son iguales y devuelve verdadero en caso afirmativo.
<?php
$x = array("id" => 1);

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

if($x == $y)
{
echo "true";
}
else
{
echo "false";

}
?>
Verdadero o 1
X === y Idéntico Compares 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
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Falso o 0
X !== y No identicos
<?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 de conteo se utiliza para contar la cantidad de elementos que contiene una matriz php. El siguiente código muestra la 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 una matriz o no. Veamos ahora un ejemplo que implementa las funciones 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 por valores.

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

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

Elimina las claves de acceso existentes y agrega nuevas claves numéricas.

La salida 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 usando la clave. el siguientewing El 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 utilizando los valores. el siguientewing El 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 las matrices se puede estirar,
  • Las matrices ayudan fácilmente a agrupar información relacionada, como el inicio de sesión del servidor.tails juntos
  • Las matrices ayudan a escribir código más limpio.

Resumen

  • Las matrices son variables especiales con capacidad de almacenar múltiples valores.
  • Las matrices son flexibles y se pueden estirar fácilmente para acomodar más valores.
  • Las matrices numéricas utilizan números para las claves de la matriz.
  • La matriz asociativa de PHP utiliza nombres descriptivos para las claves de la matriz
  • Los arreglos multidimensionales contienen otros arreglos dentro de ellos.
  • La función de recuento se utiliza para obtener la cantidad de elementos que se han almacenado en una matriz.
  • La función is_array se utiliza para determinar si una variable es una matriz válida o no.
  • Otras funciones de matriz incluyen ordenar, ksort, clasificar, etc.