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: