Matrice PHP: asociativă, multidimensională

⚡ Rezumat inteligent

Tablourile PHP stochează multe valori corelate într-o singură variabilă, facilitând gruparea și procesarea datelor corelate. Acest ghid prezintă tablourile numerice, asociative și multidimensionale, operatorii de comparare a tablourilor și funcțiile de bază, cum ar fi numărarea, sortarea, ksort și asortarea.

  • 🧰 Ce fac matricele: O matrice conține mai multe valori corelate într-o singură variabilă, accesate prin chei numerice sau denumite în loc de mai multe variabile separate.
  • 🔢 Tablouri numerice: Tablourile numerice utilizează chei de index întregi începând de la zero pentru a citi sau a atribui fiecare element stocat.
  • 🏷️ Tablouri asociative: Tablourile asociative utilizează chei descriptive de tip șir de caractere, ceea ce este ideal pentru asocierea numelor cu valori sau hărți.ping câmpuri ale bazei de date.
  • 🧬 Multidimensional: O matrice multidimensională imbrica matrice în interiorul unei alte matrice, grupeazăping date structurate, cum ar fi filme, organizate pe categorii.
  • 🇧🇷 Mulțime Operators: Operatorul de uniune fuzionează tablourile, în timp ce == verifică egalitatea valorilor și === verifică, de asemenea, ordinea cheilor și tipurile de date.
  • 🔧 Funcții Array: count, is_array, sort, ksort și asort raportează și reordonează conținutul tablourilor după valoare sau după cheie.
  • 🤖 Asistență AI: Instrumentele de inteligență artificială pot transforma rândurile bazei de date în matrice asociative și pot ajuta la depanarea structurilor confuze de matrice multidimensionale.

Matrice PHP

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 de ciocolată reprezintă valorile stocate în matrice.

Exemplele de mai jos ilustrează cum funcționează acest lucru.

Matrice numerice

Tablourile numerice folosesc numerele ca taste de acces.

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

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

Mai jos este sintaxa pentru crearea unui array numeric î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ă analizăm acum 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 recupera sau modifica valoarea sa. Observaț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

Tablourile asociative diferă de tablourile numerice prin faptul că tablourile asociative folosesc nume descriptive pentru cheile de identificare.

Mai jos este sintaxa pentru crearea unui array asociativ în PHP.

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

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

AICI,

  • „$variable_name...” este numele variabilei
  • „['key_name']” este cheia de acces a elementului
  • „valoare” este valoarea atribuită elementului matrice.

Să presupunem că avem un grup de persoane și vrem să atribuim sexul fiecăreia în funcție de numele lor.

Putem folosi un array 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

Tablourile asociative sunt, de asemenea, foarte utile la recuperarea 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ă analizăm acum un exemplu practic care implementează un array 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ă: tabloul numeric „movies” a fost imbricat în tabloul asociativ „categories”.

Matrice PHP: Operatori

OperaTdR Nume Descriere 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 și returnează valoarea „true” dacă sunt egale
<?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 Returnează true dacă cele două matrice nu sunt egale
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Fals sau 0
x !== y Nu identice Returnează true dacă cele două matrice nu sunt identice ca valoare sau tip.
<?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 count este utilizată pentru a număra elementele pe care le conține un array PHP. Codul de mai jos prezintă 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 sau nu un tablou. Să analizăm acum un exemplu care implementează funcția is_array.

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

ieșire:

1

Sortează

Această funcție este utilizată pentru a sorta tablourile după valorile lor.

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

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

Elimină tastele de acces existente și adaugă taste numerice noi.

Ieșirea acestei funcții este un tablou 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

Aceasta funcţie este folosit pentru a sorta matricea folosind valorile în timp ce keeping tastele. Următorul exemplu ilustrează utilizarea sa.

<?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 tablourilor poate fi extins pentru a conține mai multe valori.
  • Tablourile ajută cu ușurință la gruparea informațiilor conexe, cum ar fi detaliile de conectare la server.
  • Matricele ajută la scrierea unui cod mai curat.

Întrebări frecvente

Bucla foreach este cea mai comună metodă. Scrieți foreach ($array as $value) pentru a citi fiecare valoare sau foreach ($array as $key => $value) pentru a citi atât cheia, cât și valoarea fiecărui element din matrice.

sort() reordonează valorile și reindexează matricea cu noi chei numerice, pierzând cheile originale. asort() sortează după valoare, dar păstrează fiecare valoare legată de cheia sa originală, ceea ce este important pentru matricele asociative.

Folosește array_push() sau $arr[] = value pentru a adăuga un element și array_pop() sau array_shift() pentru a-l elimina de la sfârșit sau de la început. Pentru a șterge un anumit element după cheie, folosește funcția unset().

Da. Inteligența artificială poate scrie bucla de fetch care mapează fiecare rând într-un tablou asociativ cu cheie după numele coloanei și poate sugera utilizarea metodelor de fetch care returnează tablouri asociative direct din driverul bazei de date.

Da. Lipiți rezultatul print_r sau var_dump, iar inteligența artificială poate explica imbricarea, poate afișa calea exactă către o valoare precum $film['comedy'][0] și poate identifica cheile sau nivelurile nepotrivite.

Rezumați această postare cu: