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 arrays gør: Et array indeholder flere relaterede værdier i én variabel, som tilgås via numeriske eller navngivne nøgler i stedet for mange separate variabler.
  • 🔢 Numeriske arrays: Numeriske arrays bruger heltalsindeksnøgler, der starter ved nul, til at læse eller tildele hvert gemt element.
  • 🏷️ Associative arrays: Associative arrays bruger beskrivende strengnøgler, hvilket er ideelt til at parre navne med værdier eller kort.ping databasefelter.
  • 🧬 Multidimensionel: Et flerdimensionelt array indlejrer arrays inde i et array, gruppeping strukturerede data såsom film organiseret efter kategori.
  • ⚖️ Array Operators: Unionsoperatoren fletter arrays sammen, mens == kontrollerer værdilighed, og === også kontrollerer nøgleorden og datatyper.
  • 🔧 Arrayfunktioner: count, is_array, sort, ksort og asort rapporterer om og omarrangerer array-indhold efter værdi eller nøgle.
  • 🤖 AI Assist: AI-værktøjer kan omdanne databaserækker til associative arrays og hjælpe med at fejlfinde forvirrende flerdimensionelle arraystrukturer.

PHP-arrays

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,

PHP Array

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,

PHP Array

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,

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

Ofte Stillede Spørgsmål

Foreach-løkken er den mest almindelige metode. Skriv foreach ($array as $value) for at læse hver værdi, eller foreach ($array as $key => $value) for at læse både nøglen og værdien af ​​hvert element i arrayet.

sort() omarrangerer værdier og reindekserer arrayet med nye numeriske nøgler, hvorved de oprindelige nøgler mistes. asort() sorterer efter værdi, men holder hver værdi bundet til sin oprindelige nøgle, hvilket er vigtigt for associative arrays.

Brug array_push() eller $arr[] = value til at tilføje, og array_pop() eller array_shift() til at fjerne fra slutningen eller starten. For at slette et specifikt element efter nøgle, brug funktionen unset().

Ja. AI kan skrive den hente-løkke, der mapper hver række til et associativt array, der er nøglebaseret efter kolonnenavn, og foreslå brug af hente-metoder, der returnerer associative arrays direkte fra din databasedriver.

Ja. Indsæt print_r- eller var_dump-outputtet, og AI kan forklare indlejringen, vise den nøjagtige sti til en værdi som f.eks. $film['comedy'][0] og finde uoverensstemmende taster eller niveauer.

Opsummer dette indlæg med: