PHP Array: assosiatiivinen, moniulotteinen

⚡ Älykäs yhteenveto

PHP-taulukot tallentavat useita toisiinsa liittyviä arvoja yhden muuttujan sisään, mikä helpottaa toisiinsa liittyvien tietojen ryhmittelyä ja käsittelyä. Tämä ohje kattaa numeeriset, assosiatiiviset ja moniulotteiset taulukot, taulukoiden vertailuoperaattorit ja ydinfunktiot, kuten count, sort, ksort ja asort.

  • 🧰 Mitä taulukot tekevät: Taulukko sisältää useita toisiinsa liittyviä arvoja yhdessä muuttujassa, johon pääsee käsiksi numeerisilla tai nimetyillä avaimilla useiden erillisten muuttujien sijaan.
  • 🔢 Numeeriset taulukot: Numeeriset taulukot käyttävät nollasta alkavia kokonaislukuindeksiavaimia kunkin tallennetun elementin lukemiseen tai osoittamiseen.
  • 🏷️ Assosiatiiviset taulukot: Assosiatiiviset taulukot käyttävät kuvaavia merkkijonoavaimia, mikä sopii erinomaisesti nimien yhdistämiseen arvoihin tai map-tiedostoihin.ping tietokannan kentät.
  • 🧬 Moniulotteinen: Moniulotteinen taulukko sijoittaa taulukoita taulukon sisään, ryhmäänping jäsenneltyä dataa, kuten luokittain järjestettyjä elokuvia.
  • 🇧🇷 Ryhmä Operatorit: Yhdistelmäoperaattori yhdistää taulukoita, kun taas == tarkistaa arvojen yhtäsuuruuden ja === tarkistaa myös avainten järjestyksen ja tietotyypit.
  • 🔧 Taulukkofunktiot: count, is_array, sort, ksort ja asort raportoivat ja järjestävät taulukon sisällön arvon tai avaimen mukaan.
  • 🤖 AI Assist: Tekoälytyökalut voivat muuntaa tietokannan rivit assosiatiivisiksi taulukoiksi ja auttaa hämmentävien moniulotteisten taulukkorakenteiden debuggaamisessa.

PHP-taulukot

Mikä on PHP Array?

PHP-taulukko on muuttuja, joka tallentaa useamman kuin yhden aiheeseen liittyvän datan yhteen muuttujaan.

Ajattele sarjaa suklaarasiana, jonka sisällä on aukkoja.

Laatikko edustaa itse taulukkoa, kun taas suklaata sisältävät välilyönnit edustavat taulukkoon tallennettuja arvoja.

Alla olevat esimerkit havainnollistavat, miten tämä toimii.

Numeeriset taulukot

Numeeriset taulukot käyttävät numeroita avainnäppäiminä.

Pääsyavain on viittaus taulukkomuuttujan muistipaikkaan.

Avainta käytetään aina, kun haluamme lukea taulukon alkion tai antaa sille uuden arvon.

Alla on syntaksi numeerisen taulukon luomiseksi PHP:ssä.

Esimerkki taulukosta

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

Or

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

TÄSSÄ,

  • "$muuttujan_nimi…" on muuttujan nimi
  • "[n]" on elementin pääsyindeksinumero
  • "arvo" on taulukkoelementille määritetty arvo.

Katsotaanpa nyt esimerkkiä numeerisesta taulukosta.

Oletetaan, että meillä on 5 elokuvaa, jotka haluamme tallentaa taulukkomuuttujiin.

Voimme käyttää alla olevaa esimerkkiä tehdäksesi sen.

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

?>

Täällä

PHP Array

Jokaiselle elokuvalle annetaan indeksinumero, jota käytetään sen arvon hakemiseen tai muokkaamiseen. Tarkkaile seuraavaa koodia.

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

lähtö:

Once upon a time in China Eastern Condors

Kuten yllä olevista esimerkeistä näet, PHP:n taulukoiden käyttäminen useiden samanluonteisten arvojen käsittelyssä on erittäin helppoa ja joustavaa.

Vaihtoehtoisesti yllä olevat taulukkomuuttujat voidaan luoda myös käyttämällä seuraavaa koodia.

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

lähtö:

Replacement Killers

PHP-assosiatiivinen array

Assosiatiiviset taulukot eroavat numeerisista taulukoista siinä, että assosiatiivisissa taulukoissa käytetään kuvaavia nimiä tunnisteavaimille.

Alla on syntaksi assosiatiivisen taulukon luomiseksi PHP:ssä.

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

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

TÄSSÄ,

  • "$muuttujan_nimi…" on muuttujan nimi
  • ”['key_name']” on elementin käyttöavain
  • "arvo" on taulukkoelementille määritetty arvo.

Oletetaan, että meillä on ryhmä henkilöitä ja haluamme määrittää kunkin henkilön sukupuolen heidän nimiensä yhteyteen.

Voimme käyttää siihen assosiatiivista taulukkoa. Alla oleva koodi auttaa meitä siinä.

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

TÄSSÄ,

PHP Array

lähtö:

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

Assosiatiiviset taulukot ovat myös erittäin hyödyllisiä haettaessa tietoja tietokannasta.

Kenttien nimiä käytetään id-avaimina.

PHP Moniulotteiset taulukot

Nämä ovat taulukoita, jotka sisältävät muita sisäkkäisiä taulukoita.

Moniulotteisten taulukoiden etuna on, että niiden avulla voimme ryhmitellä toisiinsa liittyviä tietoja.

Tarkastellaan nyt käytännön esimerkkiä, joka toteuttaa PHP:llä moniulotteisen taulukon.

Alla olevassa taulukossa on luettelo elokuvista luokittain.

Elokuvan nimi Luokka
Pink Panther Komedia
John Englanti Komedia
Olla sitkeähenkinen Toiminta
Expendables Toiminta
Taru sormusten herrasta Eeppinen
Romeo ja Juulia romanssi
Älä näe pahaa älä kuule pahaa Komedia

Yllä olevat tiedot voidaan esittää moniulotteisena taulukkona. Alla oleva koodi näyttää toteutuksen.

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

TÄSSÄ,

PHP Array

lähtö:

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

Toinen tapa määritellä sama taulukko on seuraava.

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

lähtö:

Pink Panther

Huomautus: elokuvat-numeerinen taulukko on sisäkkäin kategoriat-assosiatiivisen taulukon sisällä.

PHP-taulukot: OperaTors

OperaTor Nimi Tuotetiedot Kuinka tehdä se ulostulo
x+y Liitto Yhdistää elementtejä molemmista taulukoista
<?php
$x = array('id' => 1);

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

$z = $x + $y;
?>
Taulukko([id] => 1 [arvo] => 10)
x == y Yhtä suuri Vertailee kahta taulukkoa ja palauttaa arvon true, jos ne ovat yhtä suuret
<?php
$x = array("id" => 1);

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

if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Totta tai 1
x === y identtinen Vertaa sekä arvoja että Tietotyyppejä
<?php
$x = array("id" => 1);

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

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Epätosi tai 0
x != y, x <> y Ei yhtä Palauttaa arvon true, jos kaksi taulukkoa eivät ole yhtä suuret
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Epätosi tai 0
x !== y Ei identtinen Palauttaa arvon true, jos kahden taulukon arvot tai tyyppi eivät ole identtiset.
<?php
$x = array("id" => 1);

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

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

PHP Array Funktiot

Laskutoiminto

count-funktiota käytetään PHP-taulukon sisältämien elementtien lukumäärän laskemiseen. Alla oleva koodi näyttää toteutuksen.

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

lähtö:

3

is_array-funktio

is_array-funktiota käytetään määrittämään, onko muuttuja taulukko vai ei. Katsotaanpa nyt esimerkkiä, joka toteuttaa is_array-funktion.

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

lähtö:

1

Lajitella

Tätä funktiota käytetään taulukoiden lajittelemiseen niiden arvojen mukaan.

Jos arvot ovat aakkosnumeerisia, se lajittelee ne aakkosjärjestykseen.

Jos arvot ovat numeerisia, se lajittelee ne nousevaan järjestykseen.

Se poistaa olemassa olevat käyttönäppäimet ja lisää uudet numeronäppäimet.

Tämän funktion tuloste on numeerinen taulukko.

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

sort($persons);

print_r($persons);
?>

lähtö:

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

ksort

Tätä toimintoa käytetään lajittelemaan taulukko näppäimen avulla. Seuraava esimerkki havainnollistaa sen käyttöä.

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

ksort($persons);

print_r($persons);
?>

lähtö:

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

lajitelma

Tämä toiminto käytetään lajittelemaan taulukko arvojen perusteella, kun taas keeping näppäimet. Seuraava esimerkki havainnollistaa sen käyttöä.

<?php

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

asort($persons);

print_r($persons);

?>

lähtö:

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

Miksi käyttää taulukoita?

  • Taulukoiden sisältöä voidaan venyttää, jotta siihen mahtuu enemmän arvoja.
  • Taulukot auttavat helposti ryhmittelemään toisiinsa liittyviä tietoja, kuten palvelimen kirjautumistietoja.
  • Taulukot auttavat kirjoittamaan puhtaampaa koodia.

UKK

foreach-silmukka on yleisin tapa. Kirjoita foreach ($array as $value) lukeaksesi jokaisen arvon tai foreach ($array as $key => $value) lukeaksesi sekä avaimen että arvon jokaiselle taulukon alkiolle.

sort() järjestää arvot uudelleen ja indeksoi taulukon uudelleen uusilla numeerisilla avaimilla, jolloin alkuperäiset avaimet menetetään. asort() lajittelee arvon mukaan, mutta pitää jokaisen arvon sidottuna alkuperäiseen avaimeensa, mikä on tärkeää assosiatiivisissa taulukoissa.

Käytä array_push()- tai $arr[] = arvo -funktioita lisätäksesi alkion ja array_pop()- tai array_shift()-funktioita poistaaksesi alkion lopusta tai alusta. Voit poistaa tietyn alkion avaimen perusteella käyttämällä unset()-funktiota.

Kyllä. Tekoäly voi kirjoittaa nouto-silmukan, joka kuvaa jokaisen rivin sarakkeen nimen mukaan avainnettuun assosiatiiviseen taulukkoon, ja ehdottaa nouto-metodien käyttöä, jotka palauttavat assosiatiivisia taulukoita suoraan tietokanta-ajuristasi.

Kyllä. Liitä print_r- tai var_dump-tuloste, niin tekoäly voi selittää sisäkkäisyyden, näyttää tarkan polun arvoon, kuten $film['comedy'][0], ja paikantaa yhteensopimattomat avaimet tai tasot.

Tiivistä tämä viesti seuraavasti: