Uvod v 2D matrike v PHP

Niz je zbirka elementov katere koli vrste podatkov. V php-ju je veliko podatkovnih vrst, kot so niz, celo število, logično, matrika, objekt, vir… itd. 2D matrika je kombinacija teh vrst podatkov, predvsem matrike. V PHP obstajajo tri različne vrste 2D matrike, ki so naslednje:

  • Numerični niz
  • Asociativni niz
  • Večdimenzionalni niz

Ti trije nizi so razloženi spodaj:

1. Numerični niz: Niz z numeričnim indeksom.

Sintaksa :

array(value1, value2, value3, …);

Primer :

$input = array(10, 20, 30, 40, 50);

2. Associative Array : matrika z nizom ali indeksom števil. Elementi tega niza so shranjeni v obliki para ključ-vrednost.

Sintaksa :

array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', …);

Primer :

$input = array(0 =>Emma, 1=>Alice, 2=>'John');

3. Večdimenzionalni niz : matrika matrike je večdimenzionalni niz ali dvodimenzionalni niz ali ugnezdena matrika. Ta oblika je vedno matrika ali matrika. In tako imenovan gnezdeni niz.

Sintaksa:

array (
array (elements…),
array (elements…),

)

E xample:

$input = array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

V zgornjem primeru je vhodni niz primer dvodimenzionalnega niza. Tu je glavni niz vsebuje 2 elementa, pri čemer je vsak element sam še en niz treh elementov.

Kako definirati 2D matrike?

Izvedeli smo, da je v dvodimenzionalnem nizu vrednostni element matrika, ki ima lahko nadalje podračuni. Dimenzije, omenjene v matriki, so v obliki vrstic in stolpcev. Če upoštevate tabelarno obliko matrike, se je lažje naučiti, kako definirati te matrike. Pomeni, da če gre za dvodimenzionalni niz, bosta uporabljena dva indeksa, podobno, če gre za tridimenzionalni niz, bodo uporabljeni trije indeksi in tako naprej.

Kako ustvariti 2D matrike?

Ker vemo, kako definirati 2D matriko, jo lahko zdaj ustvarimo. Tu indeks ni določen in je privzeto število, ki se vedno začne z 0.

$input=array(
array( "red", "green", "blue" ),
array( "yellow", "black", "white" )
);

Niz se lahko definira tudi v obliki asociativnega niza.

(in key =>value form)

Kazalo ali ključ je niz, kot so barve, sadje in avtomobili. Vrednostni elementi so v obliki matrike, ki vsebuje 3 elemente.

$input = array(
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array (“BMW”, ”Skoda”, ”Mercedes”)
);

Kako dostopati do elementov 2D matrike?

Za dostop do teh vrednosti matrike lahko uporabite kvadratne oklepaje. Ko se boste poglabljali v več nivojev 2D matrike, se bo uporaba nabora kvadratnih oklepaj povečala z vsako stopnjo.

Primer # 1

$input = array (
'colors' =>array (“Red", "Green", "Blue"),
'fruits' =>array ("Apple", "Orange", "Grapes"),
'cars' =>array ("Skoda", "BMW", "Mercedes")
);

Ne pozabite, da prvi sklop kvadratnih oklepajev vsebuje ključ, ki so v tem primeru barve, sadje, avtomobili. Sledi še en niz kvadratnih oklepajev, da prečkate naslednjo stopnjo, do njega pa lahko dostopate s številkami, kot so 0, 1, 2.

Torej, če želimo dostopati do elementa Grozdje v zgornjem nizu,

echo $input('fruits')(2);

Podobno naslednji primeri

Če želimo v tem polju dostopati do elementa "Mercedes"

echo $input('cars')(2);

Če želimo v array dostopati do elementa "Red"

echo $input('colors)(0);

Ker se indeks vedno začne z 0 v polju.

Primer # 2

$input = array (
array (“Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple"),
);

Če želimo v zgornjem nizu dostopati do elementa »Oranžna«, bomo uporabili naslednjo vrstico

echo $input(0)(1);
will give “Green”
echo $input(1)(2);
will give “Purple”
echo $input(0)(0);
will give “Red”

Kako vstaviti elemente 2D matrikov v PHP?

Ker znamo definirati, ustvariti in dostopati do elementov matrike, se bomo zdaj naučili, kako vstaviti elemente v matriko. V PHP so določene funkcije matrike, ki delujejo na večdimenzionalnih nizih, na primer funkcija array_push () za vstavljanje, funkcija array_shift () za odstranitev in tako naprej.

$input = array (
'colors'=>array (“Red", "Green", "Blue"),
'fruits'=>array ("Apple", "Orange", "Grapes"),
'cars'=>array ("Skoda", "BMW", "Mercedes")
);

S funkcijo print_r () bomo matriko najprej natisnili takšno, kot je.

Koda:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// print the multidimensional array
echo "

 ";
print_r ($ vnos);
odmev "
 ";

Izhod:

Zdaj, da dodamo element plodovim podpolju, ki ga bomo uporabili

array_push() function

Sintaksa:

array_push(array, value1, value2…)

Kje,

  • Niz je vhodna matrika $
  • vrednost1 je element, ki ga je treba dodati matriki
  • vrednost2, vrednost3, neobvezna

Primer # 1

Koda:

$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
array_push($input('colors'), "Black");
echo "

 ";
print_r ($ vnos);
odmev "
 ";

Izhod:

V spodnjem programu smo samo odstranili tipko "barve" in ugotovili, da se na zadnji od dane matrike doda s tipko 0, kot je prikazano na izhodni sliki.

Primer # 2

Koda:

// create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
// adding a value to array
array_push($input, "Black");
// print the multidimensional array
echo "

 ";
print_r ($ vnos);
odmev "
 ";

Izhod:

Primer # 3

Koda:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//add a color to the array
array_push($input, "Black");
// print the multidimensional array
echo "

 ";
print_r ($ vnos);
odmev "
 ";

Izhod:

Kako posodobiti elemente 2D matrikov v PHP?

Če želite posodobiti element 2D matrike, preprosto dobite ključ iz matrike in zamenjajte vrednost tega ključa v določenem polju.

$input('cars')('Mercedes') = 'Duster';

Primer # 1

Koda:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//update the Mercedes with Duster
$input("cars")(2) = "Duster";
// print the multidimensional array
echo "

 ";
print_r ($ vnos);
odmev "
 ";

Izhod:

Primer # 2

Koda:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//update the Mercedes with Duster
$input(0)(1) = "White";
// print the multidimensional array
echo "

 ";
print_r ($ vnos);
odmev "
 ";

Izhod:

Kako izbrisati elemente 2D matrike?

Za izbris elementa 2D matrike bomo uporabili funkcijo array_shift ().

array_shift odstrani in vrne vrednost prvega elementa matrike.

Sintaksa:

array_shift(array)
where
-array is the $input array

Primer # 1

Koda:

//create multidimensional array
$input = array (
"colors"=>array ("Red", "Green", "Blue"),
"fruits"=>array ("Apple", "Orange", "Grapes"),
"cars"=>array ("Skoda", "BMW", "Mercedes")
);
//print the removed element
print_r(array_shift($input));

Izhod:

Primer # 2

Koda:

//create multidimensional array
$input = array (
array ("Red", "Green", "Blue"),
array ("Yellow", "Orange", "Purple")
);
//print the removed element
print_r(array_shift($input));

Izhod:

Dvodimenzionalni v asociativni matriki

V naslednjem primeru smo ustvarili dvodimenzionalni niz, ki vsebuje podatke o knjigah, kot je avtor knjige, vrsta knjige in objavljene v letu. Prav tako se bomo naučili, kako prečkati ali zanko preiti skozi ta niz. Z vrtenjem skozi večdimenzionalni niz bomo uporabili ugnezdeno zanko. Pomeni eno zanko foreach znotraj druge zanke foreach. Enako je mogoče storiti tudi z uporabo zanke.

$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);

Samo tiskanje zgornjega niza brez zanke nam bo dalo naslednji izhod:

Koda:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
// print the plain multidimensional array
echo "

 ";
print_r ($ vnos);
odmev "
";

Izhod:

Zdaj bomo natisnili večdimenzionalni niz s pomočjo zanke foreach.

Koda:

// create multidimensional array
$input = array(
"The_Alchemist" => array (
"author" => "Paulo Coelho",
"type" => "Fiction",
"published_year" => 1988
),
"Managing_Oneself" => array (
"author" => "Peter Drucker",
"type" => "Non-fiction",
"published_year" => 1999
),
"Measuring_the_World" => array(
"author" => "Daniel Kehlmann",
"type" => "Fiction",
"published_year" => 2005
)
);
//foreach to loop the outer array
foreach($input as $book) (
echo "
";
// foreach to loop the inner array
foreach($book as $key=>$value)
(
echo $key." ". $value. "
";
)
)

Izhod:

Zaključek

Upam, da je ta članek koristen za učenje konceptov teme na 2D matriki v PHP. Ta tema zajema vse koncepte, potrebne za razumevanje 2D matrike v PHP. Ta tema je preprostejša s pomočjo primerov z izhodnimi posnetki, na katere se sklicujemo. Glede na članek, če se vsi programi izvajajo dobro, vam bo zagotovo pomagalo, da boste koncepte enostavno razumeli. Upam, da je tema bolj informativna za pridobitev več znanja.

Priporočeni članki

To je vodnik za 2D matrike v PHP. Tukaj razpravljamo o treh različnih vrstah matrike v php in Kako posodobiti, vstaviti in izbrisati elemente 2D matrike z ustreznimi primeri. Lahko pogledate tudi naslednji članek.

  1. Za zanko v PHP
  2. Zamenjava v PHP
  3. Zvezdni vzorci v PHP
  4. Konstante PHP
  5. Vodnik po različnih vrstah podatkov C #