PHP-array: assosiativ, flerdimensjonal

โšก Smart oppsummering

PHP-arrayer lagrer mange relaterte verdier i รฉn variabel, noe som gjรธr det enkelt รฅ gruppere og behandle relaterte data. Denne gjennomgangen dekker numeriske, assosiative og flerdimensjonale arrayer, array-sammenligningsoperatorene og kjernefunksjoner som count, sort, ksort og asort.

  • ๐Ÿงฐ Hva arrayer gjรธr: En matrise inneholder flere relaterte verdier i รฉn variabel, som nรฅs med numeriske eller navngitte nรธkler i stedet for mange separate variabler.
  • ๐Ÿ”ข Numeriske matriser: Numeriske matriser bruker heltallsindeksnรธkler som starter pรฅ null for รฅ lese eller tilordne hvert lagrede element.
  • ๐Ÿท๏ธ Assosiative arrayer: Assosiative matriser bruker beskrivende strengnรธkler, noe som er ideelt for รฅ koble navn med verdier eller kart.ping databasefelt.
  • ๐Ÿงฌ Flerdimensjonal: En flerdimensjonal matrise nester matriser inne i en matrise, gruppeping strukturerte data som filmer organisert etter kategori.
  • ๐Ÿ‡ง๐Ÿ‡ท Array Operators: Unionsoperatoren slรฅr sammen arrayer, mens == sjekker verdilikhet og === ogsรฅ sjekker nรธkkelrekkefรธlge og datatyper.
  • ๐Ÿ”ง Arrayfunksjoner: count, is_array, sort, ksort og asort rapporterer om og omordner arrayinnhold etter verdi eller nรธkkel.
  • ๐Ÿค– AI Assist: AI-verktรธy kan gjรธre databaserader om til assosiative arrays og bidra til รฅ feilsรธke forvirrende flerdimensjonale arraystrukturer.

PHP arrays

Hva er en PHP-array?

En PHP-matrise er en variabel som lagrer mer enn ett stykke relaterte data i en enkelt variabel.

Tenk pรฅ en matrise som en sjokoladeboks med spor inni.

Boksen representerer selve matrisen, mens mellomrommene som inneholder sjokolade representerer verdiene som er lagret i matrisen.

Eksemplene nedenfor illustrerer hvordan dette fungerer.

Numeriske matriser

Numeriske matriser bruker tall som tilgangsnรธkler.

En tilgangsnรธkkel er en referanse til et minnespor i en matrisevariabel.

Tilgangsnรธkkelen brukes nรฅr vi vil lese eller tilordne en ny verdi til et array-element.

Nedenfor er syntaksen for รฅ lage en numerisk array i PHP.

Eksempel pรฅ matrise

<?php
$variable_name[n] = value;
?>

Or

<?php
$variable_name = array(n => value, ...);
?>

HER,

  • "$variabelnavn..." er navnet pรฅ variabelen
  • "[n]" er tilgangsindeksnummeret til elementet
  • "verdi" er verdien som er tildelt array-elementet.

La oss nรฅ se pรฅ et eksempel pรฅ en numerisk matrise.

Anta at vi har 5 filmer som vi รธnsker รฅ lagre i matrisevariabler.

Vi kan bruke eksemplet vist nedenfor for รฅ gjรธ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 som brukes til รฅ hente eller endre verdien. 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];
?>

Utgang:

Once upon a time in China Eastern Condors

Som du kan se fra eksemplene ovenfor, er det veldig enkelt og fleksibelt รฅ jobbe med arrays i PHP nรฅr du arbeider med flere verdier av samme art.

Alternativt kan arrayvariablene ovenfor ogsรฅ opprettes ved รฅ bruke 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];
?>

Utgang:

Replacement Killers

PHP Associative Array

Assosiative matriser skiller seg fra numeriske matriser i den forstand at assosiative matriser bruker beskrivende navn for ID-nรธkler.

Nedenfor er syntaksen for รฅ lage en assosiativ array i PHP.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

HER,

  • "$variabelnavn..." er navnet pรฅ variabelen
  • ยซ['key_name']ยป er tilgangsnรธkkelen til elementet
  • "verdi" er verdien som er tildelt array-elementet.

La oss anta at vi har en gruppe personer, og vi รธnsker รฅ tilordne kjรธnnet til hver person ved navnene deres.

Vi kan bruke en assosiativ array til รฅ gjรธre det. Koden nedenfor hjelper oss med det.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons);
echo "";
echo "Mary is a " . $persons["Mary"];
?>

HER,

PHP-array

Utgang:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Assosiative arrayer er ogsรฅ svรฆrt nyttige nรฅr man henter data fra databasen.

Feltnavnene brukes som id-nรธkler.

PHP Flerdimensjonale arrays

Dette er matriser som inneholder andre nestede matriser.

Fordelen med flerdimensjonale arrays er at de lar oss gruppere relaterte data sammen.

La oss nรฅ se pรฅ et praktisk eksempel som implementerer en flerdimensjonal PHP-matrise.

Tabellen nedenfor viser en liste over filmer etter kategori.

Filmtittel Kategori
Pink Panther Komedie
John engelsk Komedie
Die Hard Handling
Expendables Handling
Ringenes herre Epic
Romeo og Juliet Romanse
Se ingen ondskap hรธr ingen ondskap Komedie

Informasjonen ovenfor kan representeres som en flerdimensjonal matrise. 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

Utgang:

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 annen mรฅte รฅ definere den samme matrisen 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];
?>

Utgang:

Pink Panther

Merk: Den numeriske matrisen for filmer er nestet inne i den assosiative matrisen for kategorier.

PHP-matriser: Operatorer

Operator Navn Tekniske beskrivelser Hvordan gjรธre det Produksjon
x+y Union Kombinerer elementer fra begge arrays
<?php
$x = array('id' => 1);

$y = array('value' => 10);

$z = $x + $y;
?>
Matrise([id] => 1 [verdi] => 10)
x == y Lik Sammenligner to matriser og returnerer sann hvis de er like
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Sant eller 1
x === y Identisk Sammenligner bรฅde verdiene 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 lik Returnerer sann hvis de to arrayene ikke er like
<?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 sann hvis de to arrayene ikke er identiske i verdi eller type
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Sant eller 1

PHP-arrayfunksjoner

Tellefunksjon

Count-funksjonen brukes til รฅ telle antall elementer som en PHP-array inneholder. Koden nedenfor viser implementeringen.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

Utgang:

3

is_array-funksjonen

Funksjonen is_array brukes til รฅ avgjรธre om en variabel er en matrise eller ikke. La oss nรฅ se pรฅ et eksempel som implementerer funksjonen is_array.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Utgang:

1

Svart

Denne funksjonen brukes til รฅ sortere arrayer etter verdiene deres.

Hvis verdiene er alfanumeriske, sorteres de i alfabetisk rekkefรธlge.

Hvis verdiene er numeriske, sorterer den dem i stigende rekkefรธlge.

Den fjerner de eksisterende tilgangstastene og legger til nye numeriske taster.

Utdataene fra denne funksjonen er en numerisk matrise.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

Utgang:

Array ( [0] => Female [1] => Female [2] => Male )

ksort

Denne funksjonen brukes til รฅ sortere matrisen med tasten. Fรธlgende eksempel illustrerer bruken.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>

Utgang:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

sortiment

Dette funksjon brukes til รฅ sortere arrayet ved hjelp av verdiene mens keeping tastene. Fรธlgende eksempel illustrerer bruken av den.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>

Utgang:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

Hvorfor bruke arrays?

  • Innholdet i arrayer kan strekkes for รฅ inneholde flere verdier.
  • Arrayer hjelper enkelt med รฅ gruppere relatert informasjon, for eksempel serverinnloggingsdetaljer.
  • Arrays hjelper til med รฅ skrive renere kode.

Spรธrsmรฅl og svar

Foreach-lรธkken er den vanligste mรฅten. Skriv foreach ($array as $value) for รฅ lese hver verdi, eller foreach ($array as $key => $value) for รฅ lese bรฅde nรธkkelen og verdien til hvert element i arrayet.

sort() omorganiserer verdier og indekserer arrayet pรฅ nytt med nye numeriske nรธkler, og mister de opprinnelige nรธklene. asort() sorterer etter verdi, men holder hver verdi knyttet til sin opprinnelige nรธkkel, noe som er viktig for assosiative arrayer.

Bruk array_push() eller $arr[] = value for รฅ legge til, og array_pop() eller array_shift() for รฅ fjerne fra slutten eller starten. For รฅ slette et bestemt element etter nรธkkel, bruk unset()-funksjonen.

Ja. AI kan skrive hentelรธkken som kartlegger hver rad til en assosiativ matrise nรธkkelstyrt etter kolonnenavn, og foreslรฅ bruk av hentemetoder som returnerer assosiative matriser direkte fra databasedriveren.

Ja. Lim inn print_r- eller var_dump-utdataene, sรฅ kan AI forklare nestingen, vise den nรธyaktige banen til en verdi som $film['comedy'][0], og finne taster eller nivรฅer som ikke samsvarer.

Oppsummer dette innlegget med: