PHP Array: Associativ, flerdimensionell

⚡ Smart sammanfattning

PHP-arrayer lagrar många relaterade värden inuti en enda variabel, vilket gör relaterad data enkel att gruppera och bearbeta. Denna genomgång täcker numeriska, associativa och flerdimensionella arrayer, arrayjämförelseoperatorerna och kärnfunktioner som count, sort, ksort och asort.

  • 🧰 Vad arrayer gör: En array innehåller flera relaterade värden i en variabel, som nås med numeriska eller namngivna nycklar istället för många separata variabler.
  • 🔢 Numeriska arrayer: Numeriska arrayer använder heltalsindexnycklar som börjar på noll för att läsa eller tilldela varje lagrat element.
  • 🏷️ Associativa arrayer: Associativa arrayer använder beskrivande strängnycklar, vilket är idealiskt för att para ihop namn med värden eller mappningar.ping databasfält.
  • 🧬 Flerdimensionell: En flerdimensionell array kapslar arrayer inuti en array, grouping strukturerad data som filmer organiserade efter kategori.
  • ⚖️ array Operators: Unionsoperatorn slår samman arrayer, medan == kontrollerar värdelikhet och === även kontrollerar nyckelordning och datatyper.
  • 🔧 Arrayfunktioner: count, is_array, sort, ksort och asort rapporterar och ordnar om arrayinnehåll efter värde eller nyckel.
  • 🤖 AI Assist: AI-verktyg kan omvandla databasrader till associativa arrayer och hjälpa till att felsöka förvirrande flerdimensionella arraystrukturer.

PHP-matriser

Vad är en PHP-array?

En PHP-array är en variabel som lagrar mer än en bit relaterad data i en enda variabel.

Tänk på en array som en chokladask med luckor inuti.

Rutan representerar själva arrayen, medan mellanslag som innehåller choklad representerar de värden som lagras i arrayen.

Exemplen nedan illustrerar hur detta fungerar.

Numeriska matriser

Numeriska matriser använder siffror som åtkomstnycklar.

En åtkomstnyckel är en referens till en minnesplats i en matrisvariabel.

Åtkomstnyckeln används när vi vill läsa eller tilldela ett nytt värde till ett arrayelement.

Nedan följer syntaxen för att skapa en numerisk array i PHP.

Exempel på matris

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

Or

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

HÄR,

  • "$variable_name..." är namnet på variabeln
  • "[n]" är åtkomstindexnumret för elementet
  • "värde" är värdet som tilldelas arrayelementet.

Låt oss nu titta på ett exempel på en numerisk array.

Anta att vi har 5 filmer som vi vill lagra i arrayvariabler.

Vi kan använda exemplet nedan för att göra 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';

?>

Här,

PHP Array

Varje film får ett indexnummer som används för att hämta eller ändra dess värde. Observera följande kod.

<?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];
?>

Produktion:

Once upon a time in China Eastern Condors

Som du kan se från exemplen ovan är det mycket enkelt och flexibelt att arbeta med arrayer i PHP när man hanterar flera värden av samma karaktär.

Alternativt kan ovanstående arrayvariabler också skapas med hjälp av följande kod.

<?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];
?>

Produktion:

Replacement Killers

PHP Associativ Array

Associativa arrayer skiljer sig från numeriska arrayer i den meningen att associativa arrayer använder beskrivande namn för ID-nycklar.

Nedan följer syntaxen för att skapa en associativ array i PHP.

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

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

HÄR,

  • "$variable_name..." är namnet på variabeln
  • ”['nyckelnamn']” är elementets åtkomstnyckel
  • "värde" är värdet som tilldelas arrayelementet.

Låt oss anta att vi har en grupp personer, och vi vill tilldela varje persons kön till deras namn.

Vi kan använda en associativ array för att göra det. Koden nedan hjälper oss att göra det.

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

HÄR,

PHP Array

Produktion:

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

Associativa arrayer är också mycket användbara vid hämtning av data från databasen.

Fältnamnen används som id-nycklar.

PHP Flerdimensionella arrayer

Dessa är arrayer som innehåller andra kapslade arrayer.

Fördelen med flerdimensionella arrayer är att de tillåter oss att gruppera relaterade data tillsammans.

Låt oss nu titta på ett praktiskt exempel som implementerar en flerdimensionell PHP-array.

Tabellen nedan visar en lista över filmer per kategori.

Filmtitel Kategori
Rosa pantern Komedi
John engelska Komedi
VARA SEGLIVAD Handling
Expendables Handling
Ringenes Herre Episk
Romeo och Juliet romantik
Se inget ont hör inget ont Komedi

Ovanstående information kan representeras som en flerdimensionell matris. Koden nedan visar 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);
?>

HÄR,

PHP Array

Produktion:

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

Ett annat sätt att definiera samma array är följande.

<?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];
?>

Produktion:

Pink Panther

Obs: den numeriska arrayen för filmer har kapslats inuti den associativa arrayen för kategorier.

PHP-arrayer: Operatorer

Operator Namn BESKRIVNING Hur man gör det Produktion
x+y Union Kombinerar element från båda arrayerna
<?php
$x = array('id' => 1);

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

$z = $x + $y;
?>
Array([id] => 1 [värde] => 10)
x == y Lika Jämför två arrayer och returnerar sant om de är lika
<?php
$x = array("id" => 1);

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

if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Sant eller 1
x === y Identisk Jämför både värdena och datatyper
<?php
$x = array("id" => 1);

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

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Falskt eller 0
x != y, x <> y Inte jämnlikt Returnerar sant om de två arrayerna inte är lika
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Falskt eller 0
x !== y Inte identisk Returnerar sant om de två arrayerna inte är identiska i värde eller typ
<?php
$x = array("id" => 1);

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

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

PHP Array-funktioner

Räknefunktion

Funktionen count används för att räkna antalet element som en PHP-array innehåller. Koden nedan visar implementeringen.

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

Produktion:

3

is_array-funktionen

Funktionen is_array används för att avgöra om en variabel är en array eller inte. Låt oss nu titta på ett exempel som implementerar funktionen is_array.

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

Produktion:

1

Svart

Den här funktionen används för att sortera arrayer efter deras värden.

Om värdena är alfanumeriska sorteras de i alfabetisk ordning.

Om värdena är numeriska sorteras de i stigande ordning.

Den tar bort de befintliga åtkomsttangenterna och lägger till nya numeriska tangenter.

Utdata från den här funktionen är en numerisk array.

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

sort($persons);

print_r($persons);
?>

Produktion:

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

ksort

Denna funktion används för att sortera arrayen med hjälp av tangenten. Följande exempel illustrerar dess användning.

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

ksort($persons);

print_r($persons);
?>

Produktion:

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

sortiment

Detta fungera används för att sortera arrayen med hjälp av värdena medan keeping tangenterna. Följande exempel illustrerar dess användning.

<?php

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

asort($persons);

print_r($persons);

?>

Produktion:

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

Varför använda arrayer?

  • Innehållet i arrayer kan sträckas ut för att innehålla fler värden.
  • Matriser hjälper enkelt till att gruppera relaterad information som serverinloggningsuppgifter.
  • Arrayer hjälper till att skriva renare kod.

Vanliga frågor

Foreach-loopen är det vanligaste sättet. Skriv foreach ($array as $value) för att läsa varje värde, eller foreach ($array as $key => $value) för att läsa både nyckeln och värdet för varje element i arrayen.

sort() omordnar värden och omindexerar arrayen med nya numeriska nycklar, vilket förlorar de ursprungliga nycklarna. asort() sorterar efter värde men behåller varje värde kopplat till sin ursprungliga nyckel, vilket är viktigt för associativa arrayer.

Använd array_push() eller $arr[] = value för att lägga till, och array_pop() eller array_shift() för att ta bort från slutet eller början. För att ta bort ett specifikt element med nyckel, använd funktionen unset().

Ja. AI kan skriva hämtningsloopen som mappar varje rad till en associativ array nyckelrad efter kolumnnamn, och föreslå att man använder hämtningsmetoder som returnerar associativa arrayer direkt från din databasdrivrutin.

Ja. Klistra in print_r- eller var_dump-utdata, så kan AI förklara kapslingen, visa den exakta sökvägen till ett värde som $film['comedy'][0] och hitta felmatchade tangenter eller nivåer.

Sammanfatta detta inlägg med: