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,

PHP Array

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,

PHP Array

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,

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 ) )

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.