PHP Array: Associativ, flerdimensionell

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 utrymmena som innehåller choklad representerar värdena som lagras i arrayerna.

Diagrammet nedan illustrerar ovanstående syntax.

Numeriska matriser

Numeriska matriser använder nummer 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 ett arrayelement.

Nedan är syntaxen för att skapa 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 matris.

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

Associativ array skiljer sig från numerisk array i den meningen att associativ array använder beskrivande namn för id-nycklar.

Nedan är syntaxen för att skapa associativ array i php.

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

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

HÄR,

  • "$variable_name..." är namnet på variabeln
  • "['key_name']" är åtkomstindexnumret för elementet
  • "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 mot 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

Associativ array är också mycket användbar när du hämtar 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 som följer

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

Notera: den numeriska arrayen för filmer har kapslats inuti kategoriernas associativa array

PHP-arrayer: Operatorer

Operator Namn Description Hur man gör det Produktion
x+y Unionen 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 om de är lika och returnerar sant om ja.
<?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
<?php
$x = array("id" => 1);

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

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Falskt eller 0
X !== y Inte identisk
<?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

Räknefunktionen 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 is_array-funktionerna.

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

Produktion:

1

Svart

Denna funktion används för att sortera arrayer efter 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 befintliga åtkomstnycklar och lägger till nya numeriska nycklar.

Utdata från denna funktion är en numerisk matris

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

Denna fungera används för att sortera matrisen med hjälp av värdena. 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,
  • Matriser hjälper enkelt att gruppera relaterad information som serverinloggningsdetaljer
  • Arrayer hjälper till att skriva renare kod.

Sammanfattning

  • Matriser är speciella variabler med kapacitet att lagra flera värden.
  • Matriser är flexibla och kan enkelt sträckas ut för att rymma fler värden
  • Numeriska arrayer använder siffror för arraynycklarna
  • PHP Associative array använder beskrivande namn för arraynycklar
  • Flerdimensionella arrayer innehåller andra arrayer inuti dem.
  • Räknefunktionen används för att få fram antalet objekt som har lagrats i en array
  • Funktionen is_array används för att avgöra om en variabel är en giltig array eller inte.
  • Andra arrayfunktioner inkluderar sortering, ksort, assort etc.