PHP Array: Associativ, Multidimensional
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 chokolade, repræsenterer de værdier, der er gemt i arrays.
Diagrammet nedenfor illustrerer ovenstående syntaks.
Numeriske arrays
Numeriske arrays bruger tal som adgangsnøgler.
En adgangsnøgle er en reference til en hukommelsesplads i en arrayvariabel.
Adgangsnøglen bruges, når vi ønsker at læse eller tildele en ny værdi et array-element.
Nedenfor er syntaksen til at skabe 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 et indeksnummer, der bruges til at hente eller ændre dens værdi. Overhold 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
Associativ array adskiller sig fra numerisk array i den forstand, at associative arrays bruger beskrivende navne til id-nøgler.
Nedenfor er syntaksen til at skabe associativ array i php.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
HER,
- "$variabelnavn..." er navnet på variablen
- "['key_name']" er adgangsindeksnummeret for elementet
- "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 fra 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 array er også meget nyttige, når du 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 multidimensionelt array.
Tabellen nedenfor viser en liste over film efter kategori.
Filmtitel | Boligtype |
---|---|
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 kategoriernes associative array
PHP-arrays: Operatorer
OperaTor | Navn | Description | 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, hvis de er ens, og returnerer sand, hvis ja. |
<?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 |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Falsk eller 0 | |
X !== y | Ikke identisk |
<?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
Tællefunktionen 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 en matrix eller ej. Lad os nu se på et eksempel, der implementerer is_array-funktionerne.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Output:
1
Sort
Denne funktion bruges til at sortere arrays efter værdierne.
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.
Det fjerner de eksisterende adgangsnøgler og tilføjer nye numeriske taster.
Outputtet af 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. Følgende eksempel illustrerer dets brug.
<?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,
- Arrays hjælper nemt med at gruppere relaterede oplysninger, såsom serverlogindetaljer
- Arrays hjælper med at skrive renere kode.
Resumé
- Arrays er specielle variabler med kapacitet til at lagre flere værdier.
- Arrays er fleksibilitet og kan nemt strækkes for at rumme flere værdier
- Numeriske arrays bruger tal til array-tasterne
- PHP Associative array bruger beskrivende navne til array nøgler
- Multidimensionelle arrays indeholder andre arrays inde i dem.
- Tællefunktionen bruges til at få det antal elementer, der er blevet gemt i et array
- Funktionen is_array bruges til at bestemme, om en variabel er en gyldig matrix eller ej.
- Andre array-funktioner inkluderer sortering, ksort, assort osv.