Введение в 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-массивов с соответствующими примерами. Вы также можете посмотреть на следующую статью.
- Для цикла в PHP
- Обмен в PHP
- Звездные паттерны в PHP
- Константы PHP
- Руководство по различным типам данных C #