PHP-array: associatief, multidimensionaal
Wat is een PHP-array?
Een PHP-array is een variabele die meer dan één stuk gerelateerde gegevens in één variabele opslaat.
Stel je een array voor als een doos chocolaatjes met gleuven erin.
Het vakje vertegenwoordigt de array zelf, terwijl de ruimtes met chocolaatjes de waarden vertegenwoordigen die in de arrays zijn opgeslagen.
Het onderstaande diagram illustreert de bovenstaande syntaxis.
Numerieke arrays
Numerieke arrays gebruiken getallen als toegangssleutels.
Een toegangssleutel is een verwijzing naar een geheugenslot in een arrayvariabele.
De toegangssleutel wordt gebruikt wanneer we een array-element willen lezen of een nieuwe waarde willen toewijzen.
Hieronder vindt u de syntaxis voor het maken van een numerieke array in php.
Array-voorbeeld
<?php $variable_name[n] = value; ?>
Or
<?php $variable_name = array(n => value, …); ?>
HIER,
- “$variabele_naam...” is de naam van de variabele
- “[n]” is het toegangsindexnummer van het element
- “waarde” is de waarde die aan het array-element is toegewezen.
Laten we nu eens kijken naar een voorbeeld van een numerieke array.
Stel dat we 5 films hebben die we in arrayvariabelen willen opslaan.
Hiervoor kunnen we het onderstaande voorbeeld gebruiken.
<?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'; ?>
Hier
Elke film krijgt een indexnummer dat wordt gebruikt om de waarde ervan op te halen of te wijzigen. Bekijk de volgende code:
<?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
Zoals je uit de bovenstaande voorbeelden kunt zien, is het werken met arrays in PHP bij het omgaan met meerdere waarden van dezelfde aard heel eenvoudig en flexibel.
U kunt de bovenstaande arrayvariabelen ook maken met behulp van de volgende code.
<?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 associatieve array
Associatieve arrays verschillen van numerieke arrays in de zin dat associatieve arrays beschrijvende namen gebruiken voor ID-sleutels.
Hieronder vindt u de syntaxis voor het maken van een associatieve array in php.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
HIER,
- “$variabele_naam...” is de naam van de variabele
- “['key_name']” is het toegangsindexnummer van het element
- “waarde” is de waarde die aan het array-element is toegewezen.
Laten we veronderstellen dat we een groep personen hebben, en we willen het geslacht van elke persoon bij hun naam zetten.
We kunnen daarvoor een associatieve array gebruiken. De onderstaande code helpt ons daarbij.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
HIER,
Output:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Associatieve arrays zijn ook erg handig bij het ophalen van gegevens uit de database.
De veldnamen worden gebruikt als ID-sleutels.
PHP Multidimensionale arrays
Dit zijn arrays die andere geneste arrays bevatten.
Het voordeel van multidimensionale arrays is dat ze ons in staat stellen gerelateerde gegevens te groeperen.
Laten we nu eens kijken naar een praktisch voorbeeld dat een multidimensionale php-array implementeert.
De onderstaande tabel toont een lijst met films per categorie.
Film titel | Categorie |
---|---|
Roze Panter | Komedie |
John Engels | Komedie |
Die Hard | Actie |
Expendables | Actie |
De Lord of the rings | episch |
Romeo en Julia | Romance |
Zie geen kwaad, hoor geen kwaad | Komedie |
De bovenstaande informatie kan worden weergegeven als een multidimensionale array. Onderstaande code toont de implementatie.
<?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); ?>
HIER,
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 ) )
Een andere manier om dezelfde array te definiëren is als volgt
<?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
Opmerking: de numerieke array van films is genest in de associatieve array van categorieën
PHP-arrays: Operaverdraaid
Operator | Naam | Beschrijving | Hoe je dat doet | uitgang |
---|---|---|---|---|
x+y | Unie | Combineert elementen uit beide arrays |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Array([id] => 1 [waarde] => 10) |
X == j | Gelijk | Vergelijkt twee arrays als ze gelijk zijn en retourneert true als dat het geval is. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Waar of 1 |
X === j | Identiek | Vergelijkt zowel de waarden als Datatypen |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Onwaar of 0 |
X != y, x <> y | Niet gelijk |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Onwaar of 0 | |
X !== j | Niet identiek |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Waar of 1 |
PHP-arrayfuncties
Telfunctie
De count-functie wordt gebruikt om het aantal elementen te tellen dat een php-array bevat. Onderstaande code toont de implementatie.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Output:
3
is_array-functie
De functie is_array wordt gebruikt om te bepalen of een variabele een array is of niet. Laten we nu naar een voorbeeld kijken waarin de is_array-functies worden geïmplementeerd.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Output:
1
Sorteer
Deze functie wordt gebruikt om arrays op waarden te sorteren.
Als de waarden alfanumeriek zijn, worden ze in alfabetische volgorde gesorteerd.
Als de waarden numeriek zijn, worden ze in oplopende volgorde gesorteerd.
Het verwijdert de bestaande toegangstoetsen en voegt nieuwe numerieke toetsen toe.
De uitvoer van deze functie is een numerieke array
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Output:
Array ( [0] => Female [1] => Female [2] => Male )
soort
Deze functie wordt gebruikt om de array te sorteren met behulp van de sleutel. Het volgende voorbeeld illustreert het gebruik ervan.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Output:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
assortiment
Deze functie wordt gebruikt om de array te sorteren met behulp van de waarden. Het volgende voorbeeld illustreert het gebruik ervan.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Output:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Waarom arrays gebruiken?
- De inhoud van arrays kan worden uitgerekt,
- Arrays helpen eenvoudig om gerelateerde informatie, zoals server-inloggegevens, te groeperen
- Arrays helpen bij het schrijven van schonere code.
Samenvatting
- Arrays zijn speciale variabelen met de capaciteit om meerdere waarden op te slaan.
- Arrays zijn flexibel en kunnen gemakkelijk worden uitgerekt om meer waarden te kunnen bevatten
- Numerieke arrays gebruiken getallen voor de array-sleutels
- PHP Associatieve array gebruikt beschrijvende namen voor arraysleutels
- Multidimensionale arrays bevatten andere arrays erin.
- De telfunctie wordt gebruikt om het aantal items te verkrijgen dat in een array is opgeslagen
- De functie is_array wordt gebruikt om te bepalen of een variabele een geldige array is of niet.
- Andere arrayfuncties zijn onder meer sort, ksort, assort enz.