PHP-array: assosiativ, flerdimensjonal
โก Smart oppsummering
PHP-arrayer lagrer mange relaterte verdier i รฉn variabel, noe som gjรธr det enkelt รฅ gruppere og behandle relaterte data. Denne gjennomgangen dekker numeriske, assosiative og flerdimensjonale arrayer, array-sammenligningsoperatorene og kjernefunksjoner som count, sort, ksort og asort.

Hva er en PHP-array?
En PHP-matrise er en variabel som lagrer mer enn ett stykke relaterte data i en enkelt variabel.
Tenk pรฅ en matrise som en sjokoladeboks med spor inni.
Boksen representerer selve matrisen, mens mellomrommene som inneholder sjokolade representerer verdiene som er lagret i matrisen.
Eksemplene nedenfor illustrerer hvordan dette fungerer.
Numeriske matriser
Numeriske matriser bruker tall som tilgangsnรธkler.
En tilgangsnรธkkel er en referanse til et minnespor i en matrisevariabel.
Tilgangsnรธkkelen brukes nรฅr vi vil lese eller tilordne en ny verdi til et array-element.
Nedenfor er syntaksen for รฅ lage en numerisk array i PHP.
Eksempel pรฅ matrise
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
HER,
- "$variabelnavn..." er navnet pรฅ variabelen
- "[n]" er tilgangsindeksnummeret til elementet
- "verdi" er verdien som er tildelt array-elementet.
La oss nรฅ se pรฅ et eksempel pรฅ en numerisk matrise.
Anta at vi har 5 filmer som vi รธnsker รฅ lagre i matrisevariabler.
Vi kan bruke eksemplet vist nedenfor for รฅ gjรธre det.
<?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'; ?>
Her
Hver film fรฅr et indeksnummer som brukes til รฅ hente eller endre verdien. Observer fรธlgende kode.
<?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]; ?>
Utgang:
Once upon a time in China Eastern Condors
Som du kan se fra eksemplene ovenfor, er det veldig enkelt og fleksibelt รฅ jobbe med arrays i PHP nรฅr du arbeider med flere verdier av samme art.
Alternativt kan arrayvariablene ovenfor ogsรฅ opprettes ved รฅ bruke fรธlgende kode.
<?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]; ?>
Utgang:
Replacement Killers
PHP Associative Array
Assosiative matriser skiller seg fra numeriske matriser i den forstand at assosiative matriser bruker beskrivende navn for ID-nรธkler.
Nedenfor er syntaksen for รฅ lage en assosiativ array i PHP.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
HER,
- "$variabelnavn..." er navnet pรฅ variabelen
- ยซ['key_name']ยป er tilgangsnรธkkelen til elementet
- "verdi" er verdien som er tildelt array-elementet.
La oss anta at vi har en gruppe personer, og vi รธnsker รฅ tilordne kjรธnnet til hver person ved navnene deres.
Vi kan bruke en assosiativ array til รฅ gjรธre det. Koden nedenfor hjelper oss med det.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
HER,
Utgang:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Assosiative arrayer er ogsรฅ svรฆrt nyttige nรฅr man henter data fra databasen.
Feltnavnene brukes som id-nรธkler.
PHP Flerdimensjonale arrays
Dette er matriser som inneholder andre nestede matriser.
Fordelen med flerdimensjonale arrays er at de lar oss gruppere relaterte data sammen.
La oss nรฅ se pรฅ et praktisk eksempel som implementerer en flerdimensjonal PHP-matrise.
Tabellen nedenfor viser en liste over filmer etter kategori.
| Filmtittel | Kategori |
|---|---|
| Pink Panther | Komedie |
| John engelsk | Komedie |
| Die Hard | Handling |
| Expendables | Handling |
| Ringenes herre | Epic |
| Romeo og Juliet | Romanse |
| Se ingen ondskap hรธr ingen ondskap | Komedie |
Informasjonen ovenfor kan representeres som en flerdimensjonal matrise. Koden nedenfor viser implementeringen.
<?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); ?>
HER,
Utgang:
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 ) )
En annen mรฅte รฅ definere den samme matrisen pรฅ er som fรธlger.
<?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]; ?>
Utgang:
Pink Panther
Merk: Den numeriske matrisen for filmer er nestet inne i den assosiative matrisen for kategorier.
PHP-matriser: Operatorer
| Operator | Navn | Tekniske beskrivelser | Hvordan gjรธre det | Produksjon |
|---|---|---|---|---|
| x+y | Union | Kombinerer elementer fra begge arrays |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Matrise([id] => 1 [verdi] => 10) |
| x == y | Lik | Sammenligner to matriser og returnerer sann hvis de er like |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Sant eller 1 |
| x === y | Identisk | Sammenligner bรฅde verdiene og datatyper |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Falsk eller 0 |
| x != y, x <> y | Ikke lik | Returnerer sann hvis de to arrayene ikke er like |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Falsk eller 0 |
| x !== y | Ikke identisk | Returnerer sann hvis de to arrayene ikke er identiske i verdi eller type |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Sant eller 1 |
PHP-arrayfunksjoner
Tellefunksjon
Count-funksjonen brukes til รฅ telle antall elementer som en PHP-array inneholder. Koden nedenfor viser implementeringen.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Utgang:
3
is_array-funksjonen
Funksjonen is_array brukes til รฅ avgjรธre om en variabel er en matrise eller ikke. La oss nรฅ se pรฅ et eksempel som implementerer funksjonen is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Utgang:
1
Svart
Denne funksjonen brukes til รฅ sortere arrayer etter verdiene deres.
Hvis verdiene er alfanumeriske, sorteres de i alfabetisk rekkefรธlge.
Hvis verdiene er numeriske, sorterer den dem i stigende rekkefรธlge.
Den fjerner de eksisterende tilgangstastene og legger til nye numeriske taster.
Utdataene fra denne funksjonen er en numerisk matrise.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Utgang:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Denne funksjonen brukes til รฅ sortere matrisen med tasten. Fรธlgende eksempel illustrerer bruken.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Utgang:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
sortiment
Dette funksjon brukes til รฅ sortere arrayet ved hjelp av verdiene mens keeping tastene. Fรธlgende eksempel illustrerer bruken av den.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Utgang:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Hvorfor bruke arrays?
- Innholdet i arrayer kan strekkes for รฅ inneholde flere verdier.
- Arrayer hjelper enkelt med รฅ gruppere relatert informasjon, for eksempel serverinnloggingsdetaljer.
- Arrays hjelper til med รฅ skrive renere kode.



