PHP-массив: ассоциативный, многомерный

⚡ Умное резюме

В PHP массивы хранят множество связанных значений в одной переменной, что упрощает группировку и обработку связанных данных. В этом руководстве рассматриваются числовые, ассоциативные и многомерные массивы, операторы сравнения массивов, а также основные функции, такие как count, sort, ksort и asort.

  • 🧰 Что делают массивы: Массив хранит несколько связанных значений в одной переменной, доступ к которым осуществляется с помощью числовых или именованных ключей, а не множества отдельных переменных.
  • 🔢 Числовые массивы: В числовых массивах для чтения или присвоения каждому сохраненному элементу используются целочисленные индексы, начиная с нуля.
  • 🏷️ Ассоциативные массивы: Ассоциативные массивы используют описательные строковые ключи, что идеально подходит для сопоставления имен со значениями или для отображения данных.ping поля базы данных.
  • 🧬 Многомерный: Многомерный массив вкладывает массивы внутри другого массива, образуя группы.ping структурированные данные, такие как фильмы, организованные по категориям.
  • массив OperaТорс: Оператор объединения (union) объединяет массивы, а оператор == проверяет равенство значений, при этом === также проверяет порядок ключей и типы данных.
  • 🔧 Функции массива: Функции count, is_array, sort, ksort и asort позволяют получать информацию о содержимом массива и переупорядочивать его по значению или по ключу.
  • 🤖 AI-помощь: Инструменты искусственного интеллекта могут преобразовывать строки базы данных в ассоциативные массивы и помогать в отладке сложных многомерных структур массивов.

Массивы PHP

Что такое PHP-массив?

Массив PHP — это переменная, которая хранит более одной части связанных данных в одной переменной.

Представьте себе массив как коробку шоколадных конфет с прорезями внутри.

Прямоугольник представляет собой сам массив, а ячейки с конфетами — значения, хранящиеся в массиве.

Приведенные ниже примеры иллюстрируют, как это работает.

Числовые массивы

В числовых массивах числа используются в качестве ключей доступа.

Ключ доступа — это ссылка на ячейку памяти в переменной массива.

Ключ доступа используется всякий раз, когда мы хотим прочитать или присвоить новое значение элементу массива.

Ниже приведён синтаксис для создания числового массива в PHP.

Пример массива

<?php
$variable_name[n] = value;
?>

Or

<?php
$variable_name = array(n => value, ...);
?>

ВОТ,

  • «$variable_name…» — имя переменной.
  • «[n]» — номер индекса доступа элемента.
  • «значение» — это значение, присвоенное элементу массива.

Рассмотрим теперь пример числового массива.

Предположим, у нас есть 5 фильмов, которые мы хотим сохранить в переменных массива.

Для этого мы можем использовать пример, показанный ниже.

<?php

$movie[0] = 'Shaolin Monk';
$movie[1] = 'Drunken Master';
$movie[2] = 'American Ninja';
$movie[3] = 'Once upon a time in China';
$movie[4] = 'Replacement Killers';

?>

Здесь,

Массив PHP

Каждому фильму присваивается индексный номер, который используется для получения или изменения его значения. Обратите внимание на следующий код.

<?php
$movie[0]="Shaolin Monk";
$movie[1]="Drunken Master";
$movie[2]="American Ninja";
$movie[3]="Once upon a time in China";
$movie[4]="Replacement Killers";
echo $movie[3];
$movie[3] = " Eastern Condors";
echo $movie[3];
?>

Выход:

Once upon a time in China Eastern Condors

Как видно из приведенных выше примеров, работа с массивами в PHP при работе с несколькими значениями одинакового характера очень проста и гибка.

В качестве альтернативы указанные выше переменные массива также можно создать с помощью следующего кода.

<?php
$movie = array(0 => "Shaolin Monk",
1 => "Drunken Master",
2 => "American Ninja",
3 => "Once upon a time in China",
4 => "Replacement Killers" );
echo $movie[4];
?>

Выход:

Replacement Killers

Ассоциативный массив PHP

Ассоциативные массивы отличаются от числовых массивов тем, что в ассоциативных массивах для ключей идентификаторов используются описательные имена.

Ниже приведён синтаксис для создания ассоциативного массива в PHP.

<?php
$variable_name['key_name'] = value;

$variable_name = array('keyname' => value);
?>

ВОТ,

  • «$variable_name…» — имя переменной.
  • “['key_name']” — это ключ доступа к элементу.
  • «значение» — это значение, присвоенное элементу массива.

Предположим, у нас есть группа людей, и мы хотим присвоить каждому человеку пол, соответствующий его имени.

Для этого можно использовать ассоциативный массив. Приведённый ниже код поможет нам это сделать.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons);
echo "";
echo "Mary is a " . $persons["Mary"];
?>

ВОТ,

Массив PHP

Выход:

Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female

Ассоциативные массивы также очень полезны при извлечении данных из базы данных.

Имена полей используются в качестве ключей идентификатора.

Многомерные массивы PHP

Это массивы, содержащие другие вложенные массивы.

Преимущество многомерных массивов заключается в том, что они позволяют нам группировать связанные данные вместе.

Рассмотрим теперь практический пример, демонстрирующий реализацию многомерного массива в PHP.

В таблице ниже представлен список фильмов по категориям.

Название фильма Категория
Розовая пантера комедия
Джон Инглиш комедия
Крепкий орешек Экшн
Расходные материалы Экшн
Властелин колец Эпический
Ромео и Джульетта Romance
Не вижу зла, не слышу зла комедия

Вышеуказанную информацию можно представить в виде многомерного массива. Код ниже демонстрирует реализацию.

<?php
$movies = array(
"comedy" => array("Pink Panther", "John English", "See no evil hear no evil"),
"action" => array("Die Hard", "Expendables"),
"epic" => array("The Lord of the rings"),
"Romance" => array("Romeo and Juliet")
);
print_r($movies);
?>

ВОТ,

Массив PHP

Выход:

Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )

Другой способ определить тот же массив выглядит следующим образом.

<?php
$film = array(
"comedy" => array(
0 => "Pink Panther",
1 => "John English",
2 => "See no evil hear no evil"
),
"action" => array (
0 => "Die Hard",
1 => "Expendables"
),
"epic" => array (
0 => "The Lord of the rings"
),
"Romance" => array
(
0 => "Romeo and Juliet"
)
);
echo $film["comedy"][0];
?>

Выход:

Pink Panther

Примечание: числовой массив фильмов вложен в ассоциативный массив категорий.

PHP-массивы: OperaTORs

оператор Имя Описание Как это сделать Результат
х + у Союз Объединяет элементы из обоих массивов
<?php
$x = array('id' => 1);

$y = array('value' => 10);

$z = $x + $y;
?>
Массив([id] => 1 [значение] => 10)
х == у равным Сравнивает два массива и возвращает true, если они равны.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Правда или 1
x === y Идентичный Сравнивает как значения, так и типы данных
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Ложь или 0
x != y, x <> y Не равный Возвращает true, если два массива не равны.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Ложь или 0
x !== y Не идентичны Возвращает true, если значения или типы двух массивов не совпадают.
<?php
$x = array("id" => 1);

$y = array("id" => "1");

if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
Правда или 1

Функции массива PHP

Функция подсчета

Функция `count` используется для подсчета количества элементов в PHP-массиве. Приведенный ниже код демонстрирует реализацию.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>

Выход:

3

функция is_array

Функция `is_array` используется для определения того, является ли переменная массивом или нет. Рассмотрим теперь пример, демонстрирующий реализацию функции `is_array`.

<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>

Выход:

1

Сортировать

Эта функция используется для сортировки массивов по их значениям.

Если значения буквенно-цифровые, они сортируются в алфавитном порядке.

Если значения числовые, они сортируются в порядке возрастания.

Эта функция удаляет существующие клавиши доступа и добавляет новые цифровые клавиши.

Результатом работы этой функции является числовой массив.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

sort($persons);

print_r($persons);
?>

Выход:

Array ( [0] => Female [1] => Female [2] => Male )

ksort

Эта функция используется для сортировки массива по ключу. Следующий пример иллюстрирует его использование.

<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

ksort($persons);

print_r($persons);
?>

Выход:

Array ( [John] => Male [Mary] => Female [Mirriam] => Female )

ассортимент

Эта функция используется для сортировки массива по значениям, в то время как keeping клавиши. Следующий пример иллюстрирует их использование.

<?php

$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");

asort($persons);

print_r($persons);

?>

Выход:

Array ( [Mary] => Female [Mirriam] => Female [John] => Male )

Зачем использовать массивы?

  • Содержимое массивов можно расширить, чтобы оно могло вмещать больше значений.
  • Массивы позволяют легко группировать связанную информацию, например, данные для входа на сервер.
  • Массивы помогают писать более чистый код.

Часто задаваемые вопросы (FAQ)

Наиболее распространенный способ — использование цикла foreach. Для чтения каждого значения используйте foreach ($array as $value), а для чтения ключа и значения каждого элемента массива — foreach ($array as $key => $value).

Функция sort() переупорядочивает значения и переиндексирует массив с новыми числовыми ключами, теряя исходные ключи. Функция asort() сортирует по значению, но сохраняет каждое значение связанным с его исходным ключом, что важно для ассоциативных массивов.

Для добавления используйте функцию `array_push()` или `$arr[] = value`, а для удаления с конца или начала — `array_pop()` или `array_shift()`. Для удаления определенного элемента по ключу используйте функцию `unset()`.

Да. Искусственный интеллект может написать цикл выборки, который сопоставляет каждую строку с ассоциативным массивом, ключом которого является имя столбца, и предложить использовать методы выборки, которые возвращают ассоциативные массивы непосредственно из драйвера вашей базы данных.

Да. Вставьте вывод print_r или var_dump, и ИИ сможет объяснить вложенность, показать точный путь к значению, например, $film['comedy'][0], и обнаружить несоответствующие ключи или уровни.

Подведем итог этой публикации следующим образом: