Matrice PHP: asociativă, multidimensională

Ce este o matrice PHP?

O matrice PHP este o variabilă care stochează mai mult de o bucată de date asociate într-o singură variabilă.

Gândiți-vă la o serie ca la o cutie de ciocolată cu sloturi înăuntru.

Caseta reprezintă matricea în sine, în timp ce spațiile care conțin bomboane reprezintă valorile stocate în matrice.

Diagrama de mai jos ilustrează sintaxa de mai sus.

Matrice numerice

Matricele numerice folosesc numărul ca chei de acces.

O cheie de acces este o referință la un slot de memorie dintr-o variabilă matrice.

Cheia de acces este folosită ori de câte ori dorim să citim sau să atribuim o nouă valoare unui element de matrice.

Mai jos este sintaxa pentru crearea matricei numerice în php.

Exemplu de matrice

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

Or

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

AICI,

  • „$variable_name...” este numele variabilei
  • „[n]” este numărul indexului de acces al elementului
  • „valoare” este valoarea atribuită elementului matrice.

Să ne uităm acum la un exemplu de matrice numerică.

Să presupunem că avem 5 filme pe care dorim să le stocăm în variabile matrice.

Putem folosi exemplul prezentat mai jos pentru a face asta.

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

?>

Aici,

PHP Array

Fiecărui film i se atribuie un număr de index care este utilizat pentru a prelua sau modifica valoarea acestuia. Respectați următorul cod -

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

ieșire:

Once upon a time in China Eastern Condors

După cum puteți vedea din exemplele de mai sus, lucrul cu matrice în PHP atunci când aveți de-a face cu mai multe valori de aceeași natură este foarte ușor și flexibil.

Alternativ, variabilele matrice de mai sus pot fi create și folosind următorul cod.

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

ieșire:

Replacement Killers

Matrice asociativă PHP

Matricea asociativă diferă de matricea numerică în sensul că tablourile asociative folosesc nume descriptive pentru cheile id.

Mai jos este sintaxa pentru crearea unui tablou asociativ în php.

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

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

AICI,

  • „$variable_name...” este numele variabilei
  • „['key_name']” este numărul de index de acces al elementului
  • „valoare” este valoarea atribuită elementului matrice.

Să presupunem că avem un grup de persoane și dorim să atribuim genul fiecărei persoane în raport cu numele lor.

Putem folosi o matrice asociativă pentru a face asta. Codul de mai jos ne ajută să facem asta.

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

AICI,

PHP Array

ieșire:

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

Matricele asociative sunt, de asemenea, foarte utile la preluarea datelor din baza de date.

Numele câmpurilor sunt folosite ca chei de identificare.

PHP tablouri multidimensionale

Acestea sunt matrice care conțin alte matrice imbricate.

Avantajul matricelor multidimensionale este că ne permit să grupăm datele asociate împreună.

Să ne uităm acum la un exemplu practic care implementează o matrice multidimensională php.

Tabelul de mai jos arată o listă de filme pe categorii.

Titlul filmului Categorii
Pantera Roz Comedie
John English Comedie
Muri luptând până la ultimă suflare Acțiune
Expendables Acțiune
Stapanul Inelelor Epic
Romeo şi Julieta Romantism
Nu vezi răul nu auzi răul Comedie

Informațiile de mai sus pot fi reprezentate ca o matrice multidimensională. Codul de mai jos arată implementarea.

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

AICI,

PHP Array

ieșire:

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

O altă modalitate de a defini aceeași matrice este următoarea

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

ieșire:

Pink Panther

Notă: matricea numerică a filmelor a fost imbricată în cadrul matricei asociative categorii

Matrice PHP: Operatori

OperaTdR Nume Description Cum se face producție
x+y Uniune Combină elemente din ambele matrice
<?php
$x = array('id' => 1);

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

$z = $x + $y;
?>
Matrice([id] => 1 [valoare] => 10)
X == y Egal Compară două tablouri dacă sunt egale și returnează adevărat dacă da.
<?php
$x = array("id" => 1);

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

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

}
?>
Adevărat sau 1
X === y Identic Compară atât valorile cât și tipuri de date
<?php
$x = array("id" => 1);

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

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Fals sau 0
X != y, x <> y Nu este egal
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Fals sau 0
X !== y Nu identice
<?php
$x = array("id" => 1);

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

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Adevărat sau 1

Funcții PHP Array

Funcția de numărare

Funcția de numărare este folosită pentru a număra numărul de elemente pe care le conține o matrice php. Codul de mai jos arată implementarea.

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

ieșire:

3

funcția is_array

Funcția is_array este utilizată pentru a determina dacă o variabilă este o matrice sau nu. Să ne uităm acum la un exemplu care implementează funcțiile is_array.

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

ieșire:

1

Sortează

Această funcție este folosită pentru a sorta matrice după valori.

Dacă valorile sunt alfanumerice, le sortează în ordine alfabetică.

Dacă valorile sunt numerice, le sortează în ordine crescătoare.

Îndepărtează cheile de acces existente și adaugă chei numerice noi.

Ieșirea acestei funcții este o matrice numerică

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

sort($persons);

print_r($persons);
?>

ieșire:

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

ksort

Această funcție este folosită pentru a sorta matricea folosind cheia. Următorul exemplu ilustrează utilizarea acestuia.

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

ksort($persons);

print_r($persons);
?>

ieșire:

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

sortiment

Acest funcţie este folosit pentru a sorta matricea folosind valorile. Următorul exemplu ilustrează utilizarea acestuia.

<?php

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

asort($persons);

print_r($persons);

?>

ieșire:

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

De ce să folosiți matrice?

  • Conținutul Arrays poate fi extins,
  • Matricele ajută cu ușurință să grupeze informațiile legate, cum ar fi detaliile de conectare la server
  • Matricele ajută la scrierea unui cod mai curat.

Rezumat

  • Matricele sunt variabile speciale cu capacitatea de a stoca mai multe valori.
  • Matricele sunt flexibile și pot fi ușor extinse pentru a găzdui mai multe valori
  • Matricele numerice folosesc numere pentru cheile matricei
  • Matricea asociativă PHP utilizează nume descriptive pentru cheile matricei
  • Matricele multidimensionale conțin alte matrice în interiorul lor.
  • Funcția de numărare este utilizată pentru a obține numărul de articole care au fost stocate într-o matrice
  • Funcția is_array este utilizată pentru a determina dacă o variabilă este un tablou valid sau nu.
  • Alte funcții ale matricei includ sortare, ksort, sortare etc.