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

Массив - это коллекция элементов любого типа данных. В php есть много типов данных, таких как строка, целое число, логическое значение, массив, объект, ресурс и т. Д. 2D-массив представляет собой смесь этих типов данных, в основном массив. В PHP есть три различных типа 2D-массивов:

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

Эти три массива объяснены ниже:

1. Числовой массив: массив с числовым индексом.

Синтаксис :

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…),

)

Пример:

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

В приведенном выше примере входной массив является примером двумерного массива. Здесь основной массив содержит 2 элемента, каждый из которых представляет собой массив из 3 элементов.

Как определить 2D массивы?

Мы узнали, что в двумерном массиве элемент value является массивом, который также может иметь подмассивы. Размеры, указанные в массиве, представлены в виде строк и столбцов. Помня табличный формат массива, легче научиться определять эти массивы. Это означает, что если это двумерный массив, будут использоваться два индекса, аналогично, если это трехмерный массив, будут использоваться три индекса и так далее.

Как создать 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);

Аналогично следующие примеры

Если мы хотим получить доступ к элементу «Мерседес» в массиве, то

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

Если мы хотим получить доступ к элементу «Red» в массиве, то

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…)

Где,

  • Массив является массивом $ input
  • value1 - элемент, который будет добавлен в массив
  • значение2, значение3, необязательно

Пример № 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 ($ вход);
эхо "
 «;

Выход:

В приведенной ниже программе мы просто удалили ключ «colors» и обнаружили, что он добавляет к последнему из данного массива клавишу 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));

Выход:

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

В следующем примере мы создали двумерный массив, содержащий информацию о книгах, таких как автор книги, тип книги и опубликованный год. Также мы научимся обходить или проходить через этот массив. Зацикливаясь в многомерном массиве, мы будем использовать вложенный цикл foreach. Значение одного цикла foreach внутри другого цикла foreach. То же самое можно сделать с помощью цикла for.

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

Выход:

Вывод

Я надеюсь, что эта статья будет полезна для изучения концепций темы о двумерном массиве в PHP. В этом разделе рассматриваются все концепции, необходимые для понимания, связанного с 2D-массивом в PHP. Эта тема упрощена с помощью примеров с выходными снимками, на которые можно сослаться. Согласно статье, если все программы будут хорошо отработаны, это, несомненно, поможет вам легко понять концепции. Я надеюсь, что тема сделана более информативной, чтобы получить больше знаний.

Рекомендуемые статьи

Это руководство по 2D-массивам в PHP. Здесь мы обсуждаем три различных типа массива в php и Как обновить, вставить и удалить элементы 2D-массивов с соответствующими примерами. Вы также можете посмотреть на следующую статью.

  1. Для цикла в PHP
  2. Обмен в PHP
  3. Звездные паттерны в PHP
  4. Константы PHP
  5. Руководство по различным типам данных C #