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

PHP-array

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,

PHP-array

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,

PHP-array

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.