Sissejuhatus 2D-massiividesse PHP-s

Massiiv on mis tahes andmetüübi elementide kogum. Php-s on palju andmetüüpe, näiteks string, täisarv, tõeväärtus, massiiv, objekt, ressurss … jne. 2D-massiiv on nende andmetüüpide segu, peamiselt massiiv. PHP-s on kolme erinevat tüüpi 2D-massiive, mis on järgmised:

  • Numbrimassiiv
  • Assotsiatiivne massiiv
  • Mitmemõõtmeline massiiv

Neid kolme massiivi selgitatakse allpool:

1. Numbriline massiiv: numbrilise indeksiga massiiv.

Süntaks :

array(value1, value2, value3, …);

Näide :

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

2. Assotsiatiivne massiiv : massiiv koos stringi või numbriindeksiga. Selle massiivi elemente hoitakse võtme-väärtuse paari kujul.

Süntaks :

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

Näide :

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

3. Mitmemõõtmeline massiiv : Massiivi massiiv on mitmemõõtmeline massiiv või 2D massiiv või pesastatud massiiv. See vorming on alati massiiv või massiiv. Ja seda nimetatakse pesastatud massiiviks.

Süntaks:

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

)

Näide:

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

Ülaltoodud näites on sisendmassiiv kahemõõtmelise massiivi näide. Põhimassiiv sisaldab siin 2 elementi, kus iga element on lisaks veel 3 elemendi massiiv.

Kuidas määratleda 2D-massiive?

Saime teada, et 2D-massiivis on väärtuselemendiks massiiv, millel võivad lisaks olla alamassiivid. Massiivis nimetatud mõõtmed on ridade ja veergude kujul. Massiivi tabelivormingut silmas pidades on lihtsam neid massiive määratleda. Tähendab, et kui see on kahemõõtmeline massiiv, siis kasutatakse kahte indeksit, samamoodi, kui see on kolmemõõtmeline massiiv, kasutatakse kolme indeksi jne.

Kuidas luua 2D-massiive?

Kuna me teame, kuidas määratleda 2D-massiivi, saame selle nüüd luua. Siin pole indeksit määratletud ja vaikimisi on arv, mis algab alati nulliga.

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

Massiivi saab määratleda ka assotsiatiivse massiivi kujul.

(in key =>value form)

Indeks või võti on string, nagu värvid, puuviljad ja autod. Väärtuselemendid on massiivi kujul, mis sisaldavad 3 elementi.

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

Kuidas pääseda juurde 2D-massiivi elementidele?

Nendele massiivi väärtustele juurdepääsu saamiseks võite kasutada nurksulgu. Kui asute sügavamale 2D-massiivi mitmesse astmesse, suureneb nurksulgude komplekti kasutamine igal tasemel.

Näide nr 1

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

Pidage meeles, et esimene nurksulgude komplekt sisaldab võtit, mis sel juhul on värvid, puuviljad, autod. Järgneb veel üks nurksulgude komplekt, et liikuda järgmisele tasemele ja sellele pääseb juurde numbritega nagu 0, 1, 2.

Nii et kui tahame juurde pääseda elemendile “Viinamarjad” ülaltoodud massiivis,

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

Sarnaselt järgmised näited

Kui tahame pääseda massiivi elemendi "Mercedes" juurde, siis

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

Kui tahame massiivi juurde pääseda elemendile “Punane”

echo $input('colors)(0);

Kuna indeks algab massiivis alati numbriga 0.

Näide 2

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

Kui tahame kasutada elementi “Oranž” ülaltoodud massiivis, kasutame järgmist rida

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

Kuidas sisestada 2D-massiivide elemente PHP-s?

Kuna me teame, kuidas massiivi elemente määratleda, luua ja neile juurde pääseda, õpime nüüd, kuidas massiivi elemente sisestada. PHP-s on defineeritud massiivifunktsioonid, mis töötavad mitmemõõtmelistes massiivides, näiteks funktsioon array_push () sisestamiseks, funktsioon array_shift () eemaldamiseks ja nii edasi.

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

Funktsiooni print_r () abil prindime massiivi kõigepealt sellisena, nagu see on.

Kood:

//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 ($ sisend);
kaja "
 ";

Väljund:

Nüüd lisage element puuviljade alamassiivi, mida me kasutame

array_push() function

Süntaks:

array_push(array, value1, value2…)

Kus,

  • Massiiv on $ sisendmassiiv
  • väärtus1 on massiivi lisatav element
  • väärtus 2, väärtus 3 on valikuline

Näide nr 1

Kood:

$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 ($ sisend);
kaja "
 ";

Väljund:

Allolevas programmis eemaldasime lihtsalt võtme “värvid” ja leidsime, et see sobib antud massiivi viimasega 0-klahviga, nagu on näidatud väljundpildil.

Näide 2

Kood:

// 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 ($ sisend);
kaja "
 ";

Väljund:

Näide 3

Kood:

//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 ($ sisend);
kaja "
 ";

Väljund:

Kuidas värskendada 2D-massiivide elemente PHP-s?

2D-massiivi elemendi värskendamiseks hankige võti massiivist ja asendage selle võtme väärtus konkreetses massiivis.

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

Näide nr 1

Kood:

//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 ($ sisend);
kaja "
 ";

Väljund:

Näide 2

Kood:

//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 ($ sisend);
kaja "
 ";

Väljund:

Kuidas kustutada 2D-massiivide elemente?

2D-massiivi elemendi kustutamiseks kasutame funktsiooni array_shift ().

array_shift eemaldab ja tagastab massiivi esimese elemendi väärtuse.

Süntaks:

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

Näide nr 1

Kood:

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

Väljund:

Näide 2

Kood:

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

Väljund:

Kahemõõtmeline assotsiatiivses massiivis

Järgnevas näites oleme loonud 2-massiivi massiivi, mis sisaldab teavet raamatute kohta, näiteks raamatu autor, raamatu tüüp ja avaldatud aastal. Samuti õpime, kuidas sellest massiivist läbi liikuda või sellest läbi liikuda. Läbi mitmemõõtmelise massiivi kasutame pesastatud foreachi silmust. Tähendab ühte foreach loop teise foreach loop sees. Sama saab teha ka silmuse jaoks.

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

Ülaltoodud massiivi printimine ilma silmusteta annab meile järgmise väljundi:

Kood:

// 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 ($ sisend);
kaja "
";

Väljund:

Nüüd prindime mitmemõõtmelise massiivi etteandesilmuse abil.

Kood:

// 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. "
";
)
)

Väljund:

Järeldus

Loodan, et sellest artiklist on abi PHP 2D-massiivi teema mõistete õppimisel. See teema hõlmab kõiki mõisteid, mis on vajalikud PHP 2D-massiivi mõistmiseks. Seda teemat lihtsustatakse näidete abil, millele on viidatud väljundi hetktõmmistel. Artikli kohaselt aitab kõigi programmide hea harjutamine kindlasti hõlpsalt mõistetest aru saada. Loodan, et teema muudetakse informatiivsemaks, et saada rohkem teadmisi.

Soovitatavad artiklid

See on juhend 2D-massiivide kohta PHP-s. Siin käsitleme kolme erinevat tüüpi massiivi php-s ja Kuidas värskendada, sisestada ja kustutada 2D-massiivi elemente koos sobivate näidetega. Võite vaadata ka järgmist artiklit.

  1. Loopi jaoks PHP-s
  2. Vahetamine PHP-s
  3. Tärnimustrid PHP-s
  4. PHP konstandid
  5. Erinevate C # andmetüüpide juhend

Kategooria: