Úvod do 2D polí v PHP

Pole je kolekce prvků libovolného datového typu. Existuje mnoho datových typů v php, jako je řetězec, celé číslo, boolean, pole, objekt, zdroj atd. 2D pole je kombinací těchto typů dat, zejména pole. V PHP existují tři různé typy 2D polí, které jsou následující:

  • Numeric Array
  • Asociativní pole
  • Vícerozměrné pole

Tato tři pole jsou vysvětlena níže:

1. Číselné pole: Pole s číselným indexem.

Syntaxe :

array(value1, value2, value3, …);

Příklad :

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

2. Asociativní pole : Pole s řetězcem nebo indexem čísel. Prvky tohoto pole jsou uloženy ve formě páru klíč-hodnota.

Syntaxe :

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

Příklad :

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

3. Vícerozměrné pole : Pole pole je vícerozměrné pole nebo 2D pole nebo vnořené pole. Tento formát je vždy pole nebo pole. A tak se nazývá vnořené pole.

Syntax:

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

)

Příklad:

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

Ve výše uvedeném příkladu je vstupní pole příkladem dvourozměrného pole. Zde hlavní pole obsahuje 2 prvky, kde každý prvek je sám o sobě dalším souborem 3 prvků.

Jak definovat 2D pole?

Dozvěděli jsme se, že v 2D poli je prvek hodnoty pole, které může dále obsahovat dílčí pole. Rozměry uvedené v poli mají podobu řádků a sloupců. Při zachování tabulkového formátu pole je snazší naučit se, jak definovat tato pole. Znamená to, že pokud se jedná o dvourozměrné pole, budou použity dva indexy, podobně, pokud se jedná o trojrozměrné pole, budou použity tři indexy atd.

Jak vytvořit 2D pole?

Protože víme, jak definovat 2D pole, můžeme jej nyní vytvořit. Zde není index definován a ve výchozím nastavení je číslo, které začíná vždy 0.

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

Pole může být také definováno ve formě asociativního pole.

(in key =>value form)

Index nebo klíč je řetězec jako barvy, ovoce a auta. Hodnotové prvky jsou ve formě pole obsahujícího vždy 3 prvky.

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

Jak přistupovat k prvkům 2D polí?

Pro přístup k těmto hodnotám pole můžete použít hranaté závorky. Jak hluboko uvnitř více úrovní 2D pole, použití sady hranatých závorek se zvýší s každou úrovní.

Příklad č. 1

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

Pamatujte, že první sada hranatých závorek obsahuje klíč, kterým jsou v tomto případě barvy, ovoce, auta. Následuje další sada hranatých závorek, která se posouvá o další úroveň a lze k nim přistupovat pomocí čísel, jako je 0, 1, 2.

Pokud tedy chceme přistupovat k prvku „Hrozny“ ve výše uvedeném poli,

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

Podobně následující příklady

Pokud chceme získat přístup k prvku „Mercedes“ v poli, pak

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

Pokud chceme v poli přistupovat k prvku „Červený“

echo $input('colors)(0);

Protože index vždy začíná 0 v poli.

Příklad č. 2

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

Pokud chceme ve výše uvedeném poli přistupovat k prvku „Orange“, použijeme následující řádek

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

Jak vložit prvky 2D polí do PHP?

Protože víme, jak definovat, vytvářet a přistupovat k prvkům pole, naučíme se nyní, jak vložit prvky do pole. V PHP jsou definovány funkce pole pro práci na vícerozměrných polích, jako je funkce array_push (), kterou chcete vložit, funkce array_shift (), kterou chcete odebrat atd.

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

Pomocí funkce print_r () vytiskneme nejprve pole jako takové.

Kód:

//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 ($ input);
echo "
 ";

Výstup:

Nyní přidáme prvek do podskupiny ovoce, který použijeme

array_push() function

Syntax:

array_push(array, value1, value2…)

Kde,

  • Pole je vstupní pole $
  • value1 je prvek, který se má přidat do pole
  • value2, value3, jsou volitelné

Příklad č. 1

Kód:

$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 ($ input);
echo "
 ";

Výstup:

V níže uvedeném programu jsme pouze odstranili klíčové „barvy“ a zjistili jsme, že připojuje k poslednímu z daného pole 0 klávesou, jak je ukázáno na výstupním obrázku.

Příklad č. 2

Kód:

// 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 ($ input);
echo "
 ";

Výstup:

Příklad č. 3

Kód:

//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 ($ input);
echo "
 ";

Výstup:

Jak aktualizovat prvky 2D polí v PHP?

Chcete-li aktualizovat prvek 2D pole, stačí získat klíč z pole a nahradit hodnotu tohoto klíče v konkrétním poli.

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

Příklad č. 1

Kód:

//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 ($ input);
echo "
 ";

Výstup:

Příklad č. 2

Kód:

//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 ($ input);
echo "
 ";

Výstup:

Jak odstranit prvky 2D polí?

K odstranění prvku 2D pole použijeme funkci array_shift ().

array_shift odstraní a vrátí hodnotu prvního prvku pole.

Syntax:

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

Příklad č. 1

Kód:

//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ýstup:

Příklad č. 2

Kód:

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

Výstup:

Dvourozměrné v asociativním poli

V následujícím příkladu jsme vytvořili 2-d pole obsahující informace o knihách, jako je autor knihy, typ knihy a publikované v roce. Také se naučíme, jak procházet nebo procházet tímto polem. Při opakování přes vícerozměrné pole použijeme vnořenou smyčku foreach. Význam jedné smyčky foreach uvnitř druhé smyčky foreach. To samé lze také provést pomocí smyčky.

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

Pouze tisk výše uvedeného pole bez smyčky nám poskytne následující výstup:

Kód:

// 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 ($ input);
echo "
";

Výstup:

Nyní budeme tisknout vícerozměrné pole pomocí smyčky foreach.

Kód:

// 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ýstup:

Závěr

Doufám, že tento článek je užitečný k osvojení si konceptů tématu na 2D poli v PHP. Toto téma pokrývá všechny koncepty potřebné pro porozumění týkající se 2D pole v PHP. Toto téma je zjednodušeno pomocí příkladů s výstupními snímky, na které se lze odvolat. Podle článku, pokud jsou všechny programy praktikovány dobře, vám jistě pomohou pochopit koncepty snadno. Doufám, že téma je více informativní pro získání více znalostí.

Doporučené články

Toto je průvodce 2D poli v PHP. Zde diskutujeme tři různé typy matic v php a Jak aktualizovat, vkládat a mazat prvky 2D polí s příslušnými příklady. Můžete se také podívat na následující článek.

  1. Pro smyčky v PHP
  2. Výměna v PHP
  3. Hvězdné vzory v PHP
  4. Konstanty PHP
  5. Průvodce různými typy dat C #

Kategorie: