PHP Array: Associativ, Multidimensional
⚡ Smart opsummering
PHP-arrays gemmer mange relaterede værdier i en enkelt variabel, hvilket gør relaterede data nemme at gruppere og behandle. Denne gennemgang dækker numeriske, associative og flerdimensionelle arrays, array-sammenligningsoperatorer og kernefunktioner som count, sort, ksort og asort.

Hvad er et PHP-array?
Et PHP-array er en variabel, der gemmer mere end ét stykke relaterede data i en enkelt variabel.
Tænk på et array som en æske chokolade med huller indeni.
Boksen repræsenterer selve arrayet, mens mellemrummene, der indeholder chokolader, repræsenterer de værdier, der er gemt i arrayet.
Eksemplerne nedenfor illustrerer, hvordan dette fungerer.
Numeriske arrays
Numeriske arrays bruger tal som adgangstaster.
En adgangsnøgle er en reference til en hukommelsesplads i en arrayvariabel.
Adgangsnøglen bruges, når vi vil læse eller tildele en ny værdi til et array-element.
Nedenfor er syntaksen for at oprette et numerisk array i PHP.
Eksempel på matrix
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
HER,
- "$variabelnavn..." er navnet på variablen
- "[n]" er adgangsindeksnummeret for elementet
- "værdi" er den værdi, der er tildelt array-elementet.
Lad os nu se på et eksempel på et numerisk array.
Antag, at vi har 5 film, som vi vil gemme i array-variabler.
Vi kan bruge eksemplet vist nedenfor til at gø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 tildelt et indeksnummer, der bruges til at hente eller ændre dens værdi. 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]; ?>
Output:
Once upon a time in China Eastern Condors
Som du kan se fra ovenstående eksempler, er det meget nemt og fleksibelt at arbejde med arrays i PHP, når du har at gøre med flere værdier af samme art.
Alternativt kan ovenstående arrayvariabler også oprettes ved hjælp af 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]; ?>
Output:
Replacement Killers
PHP Associative Array
Associative arrays adskiller sig fra numeriske arrays i den forstand, at associative arrays bruger beskrivende navne til id-nøgler.
Nedenfor er syntaksen for at oprette et associativt array i PHP.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
HER,
- "$variabelnavn..." er navnet på variablen
- “['key_name']” er elementets adgangsnøgle
- "værdi" er den værdi, der er tildelt array-elementet.
Lad os antage, at vi har en gruppe personer, og vi ønsker at tildele hver persons køn ud for deres navne.
Vi kan bruge et associativt array til at gøre det. Koden nedenfor hjælper os med at gøre det.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
HER,
Output:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Associative arrays er også meget nyttige, når man henter data fra databasen.
Feltnavnene bruges som id-nøgler.
PHP Multi-dimensionelle arrays
Disse er arrays, der indeholder andre indlejrede arrays.
Fordelen ved multidimensionelle arrays er, at de giver os mulighed for at gruppere relaterede data sammen.
Lad os nu se på et praktisk eksempel, der implementerer et PHP flerdimensionelt array.
Tabellen nedenfor viser en liste over film efter kategori.
| Filmtitel | Kategori |
|---|---|
| Pink Panther | Komedie |
| John engelsk | Komedie |
| Die Hard | Handling |
| Expendables | Handling |
| Ringenes Herre | Epic |
| Romeo og Julie | Romantik |
| Se intet ondt hør intet ondt | Komedie |
Ovenstående information kan repræsenteres som et multidimensionelt array. 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,
Output:
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 anden måde at definere det samme array 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]; ?>
Output:
Pink Panther
Bemærk: Det numeriske array for film er blevet indlejret i det associative array for kategorier.
PHP-arrays: Operatorer
| OperaTor | Navn | Beskrivelse | Hvordan gør man det | Produktion |
|---|---|---|---|---|
| x+y | Union | Kombinerer elementer fra begge arrays |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Array([id] => 1 [værdi] => 10) |
| x == y | Ens | Sammenligner to arrays og returnerer sand, hvis de er ens |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Sandt eller 1 |
| x === y | Identisk | Sammenligner både værdierne 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 lige | Returnerer sandt, hvis de to arrays ikke er ens |
<?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 sand, hvis de to arrays ikke er identiske i værdi eller type |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Sandt eller 1 |
PHP Array funktioner
Tællefunktion
Funktionen count bruges til at tælle antallet af elementer, som et PHP-array indeholder. Koden nedenfor viser implementeringen.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Output:
3
is_array funktion
Funktionen is_array bruges til at bestemme, om en variabel er et array eller ej. Lad os nu se på et eksempel, der implementerer funktionen is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Output:
1
Sort
Denne funktion bruges til at sortere arrays efter deres værdier.
Hvis værdierne er alfanumeriske, sorterer den dem i alfabetisk rækkefølge.
Hvis værdierne er numeriske, sorterer den dem i stigende rækkefølge.
Den fjerner de eksisterende adgangstaster og tilføjer nye numeriske taster.
Outputtet fra denne funktion er et numerisk array.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Output:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Denne funktion bruges til at sortere arrayet med tasten. Følgende eksempel illustrerer dets brug.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Output:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
udvalg
Denne funktion bruges til at sortere arrayet ved hjælp af værdierne, mens keeping tasterne. Følgende eksempel illustrerer brugen af den.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Output:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Hvorfor bruge arrays?
- Indholdet af arrays kan strækkes for at indeholde flere værdier.
- Arrays hjælper nemt med at gruppere relaterede oplysninger såsom serverloginoplysninger.
- Arrays hjælper med at skrive renere kode.



