Въведение в 2D масиви в PHP

Масивът е съвкупност от елементи от всеки тип данни. Има много типове данни в php като низ, цяло число, логически, масив, обект, ресурс … и т.н. 2D масив е комбинация от тези типове данни, главно масива. В PHP има три различни типа 2D масиви, които са следните:

  • Числен масив
  • Асоциативен масив
  • Многоизмерен масив

Тези три масива са обяснени по-долу:

1. Numeric Array: Масивът с цифров индекс.

Синтаксис :

array(value1, value2, value3, …);

Пример :

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

2. Асоциативният масив : масивът с индекс на низ или число. Елементите на този масив се съхраняват под формата на двойка ключ-стойност.

Синтаксис :

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

Пример :

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

3. Многомерният масив : масивът от масив е многоизмерен масив или 2D масив или вложен масив. Този формат винаги е масив или масив. И така се нарича вложен масив.

Синтаксис:

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

)

E xample:

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

В горния пример входният масив е пример за двуизмерен масив. Тук основният масив съдържа 2 елемента, където всеки елемент сам по себе си е допълнителен масив от 3 елемента.

Как да дефинираме 2D масиви?

Научихме, че в двумерния масив стойностният елемент е масив, който освен това може да има подмасиви. Размерите, посочени в масива, са под формата на редове и колони. Имайки предвид табличния формат на масива, е по-лесно да научите как да дефинирате тези масиви. Това означава, че ако това е двуизмерен масив, ще се използват два индекса, подобно, ако е триизмерен масив, ще се използват три индекса и така нататък.

Как да създадете 2D масиви?

Тъй като знаем как да определим 2D масив, можем да го създадем сега. Тук индексът не е дефиниран и по подразбиране е число, което винаги започва с 0.

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

Масивът може да бъде дефиниран и под формата на асоциативен масив.

(in key =>value form)

Индексът или ключът е низ като цветове, плодове и автомобили. Стойностните елементи са под формата на масив, съдържащ 3 елемента всеки.

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

Как да получите достъп до елементи от 2D масиви?

За достъп до тези стойности на масива можете да използвате квадратни скоби. С навлизането в повече нива на 2D масива, използването на набора от квадратни скоби ще се увеличава с всяко ниво.

Пример №1

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

Не забравяйте, че първият набор от квадратни скоби съдържа ключа, който в този случай са цветове, плодове, коли. Следван от още един набор от квадратни скоби, за да преминете надолу към следващото ниво и можете да получите достъп до числа като 0, 1, 2.

Така че, ако искаме да имаме достъп до елемента „Грозде“ в горния масив,

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

По същия начин следващите примери

Ако искаме да имаме достъп до елемента „Mercedes“ в масива, тогава

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

Ако искаме да имаме достъп до елемента „Червено“ в масива, тогава

echo $input('colors)(0);

Тъй като индексът винаги започва с 0 в масив.

Пример №2

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

Ако искаме да получим достъп до елемента „Orange“ в горния масив, ще използваме следния ред

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

Как да вмъкнете елементи на 2D масиви в PHP?

Тъй като знаем как да дефинираме, създаваме и имаме достъп до елементи от масива, сега ще научим как да вмъкваме елементи в масива. Има функции на масива, дефинирани в PHP, за да работят върху многоизмерни масиви като array_push () функцията за вмъкване, array_shift () функция за премахване и така нататък.

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

Използвайки print_r () функцията, ще отпечатаме масива първо такъв, какъвто е.

Код:

//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 ($ вход);
ехо “
 ";

изход:

Сега, за да добавим елемент към масив плодове, който ще използваме

array_push() function

Синтаксис:

array_push(array, value1, value2…)

Където,

  • Масивът е входният масив $
  • value1 е елементът, който трябва да се добави към масива
  • value2, value3, са незадължителни

Пример №1

Код:

$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 ($ вход);
ехо “
 ";

изход:

В програмата по-долу ние просто премахваме клавиша "цветове" и открихме, че той се прибавя към последния от дадения масив с 0 ключ, както е показано на изходното изображение.

Пример №2

Код:

// 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 ($ вход);
ехо “
 ";

изход:

Пример №3

Код:

//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 ($ вход);
ехо “
 ";

изход:

Как да актуализирате елементи на 2D масиви в PHP?

За да актуализирате елемент от 2D масива, просто вземете ключа от масива и заменете стойността на този ключ в определен масив.

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

Пример №1

Код:

//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 ($ вход);
ехо “
 ";

изход:

Пример №2

Код:

//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 ($ вход);
ехо “
 ";

изход:

Как да изтриете елементи от 2D масиви?

За да изтрием елемент от 2D масива, ще използваме функция array_shift ().

array_shift премахва и връща стойността на първия елемент от масива.

Синтаксис:

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

Пример №1

Код:

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

изход:

Пример №2

Код:

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

изход:

Двуизмерен в асоциативен масив

В следващия пример създадохме 2-d масив, съдържащ информацията на книги като автора на книгата, вида на книгата и публикувана през годината. Също така, ние ще научим как да преминаваме или циклично през този масив. Преглеждайки през многоизмерния масив ще използваме вложен цикъл на foreach. Означава един преден цикъл вътре в друг преден цикъл. Същото може да се направи и с помощта на контур.

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

Само отпечатването на горния масив без никакъв цикъл ще ни даде следния изход:

Код:

// 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 ($ вход);
ехо “
";

изход:

Сега ще отпечатаме многоизмерния масив с помощта на foreach линия.

Код:

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

изход:

заключение

Надявам се тази статия да е полезна, за да научите концепциите на темата на 2D масив в PHP. Тази тема обхваща всички концепции, необходими за разбирането, свързани с 2D масива в PHP. Тази тема е опростена с помощта на примери с изходни снимки за справка. Според статията, ако всички програми се практикуват добре, със сигурност ще ви помогне да разберете понятията лесно. Надявам се темата да стане по-информативна за получаване на повече знания.

Препоръчителни статии

Това е ръководство за 2D масиви в PHP. Тук обсъждаме трите различни типа масив в php и Как да актуализирате, вмъквате и изтривате елементи от 2D масиви с подходящи примери. Можете също да разгледате следната статия.

  1. За цикъл в PHP
  2. Размяна в PHP
  3. Звездни модели в PHP
  4. PHP константи
  5. Ръководство за различни типове данни C #