Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

Главная | Все статьи | Код

Работа с массивами в PHP: создание, манипуляции и основные методы

PHP Время чтения статьи ~4 минуты
Работа с массивами в PHP: создание, манипуляции и основные методы главное изображение

Массивы в PHP — это основной инструмент для работы с данными. Они позволяют хранить и упорядочивать несколько значений в одной переменной. Независимо от того, работаете ли вы с небольшими наборами данных или создаете большие приложения, знание массивов и методов их обработки сделает вашу работу проще.

PHP-разработчик — с нуля до трудоустройства за 10 месяцев
  • Постоянная поддержка от наставника и учебного центра
  • Помощь с трудоустройством
  • Готовое портфолио к концу обучения
  • Практика с первого урока

Вы получите именно те инструменты и навыки, которые позволят вам найти работу

Узнать больше

Основные понятия и создание массивов

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

Типы массивов в PHP

  1. (или индексированные массивы) хранят элементы в виде списка, где каждому элементу присваивается числовой индекс начиная с 0.

    $fruits = ["apple", "banana", "cherry"];
    
  2. Ассоциативные массивы позволяют присваивать каждому элементу уникальный ключ вместо числового индекса.

    $person = ["name" => "John", "age" => 30, "city" => "New York"];
    
  3. Многомерные массивы — это массивы, которые содержат другие массивы в качестве своих элементов. Их можно использовать для хранения более сложных структур данных.

    $matrix = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]
    ];
    

Как создавать массивы в PHP

Массивы в PHP создаются двумя основными способами:

  1. Использование квадратных скобок.

    $colors = ["red", "green", "blue"];
    
  2. Использование функции array().

    $numbers = array(1, 2, 3, 4, 5);
    

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

Основные операции с массивами

Добавление элементов

Для добавления элементов в массив можно использовать несколько методов.

  1. Добавление в конец массива с помощью квадратных скобок.

    $fruits[] = "orange";
    
  2. Функция array_push() добавляет один или несколько элементов в конец массива.

    array_push($fruits, "mango", "pineapple");
    
  3. Функция array_unshift() добавляет элементы в начало массива.

    array_unshift($fruits, "strawberry");
    

Удаление элементов

PHP также предоставляет несколько способов удаления элементов из массива.

  1. Удаление элемента по индексу или ключу с помощью unset().

    unset($fruits[0]);
    
  2. Удаление последнего элемента с помощью функции array_pop(). Функция возвращает удаленный элемент. Её используют, чтобы работать с массивами, как со стеком.

    array_pop($fruits);
    
  3. Удаление первого элемента с помощью array_shift().

    array_shift($fruits);
    

Обновление элементов

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

$fruits[1] = "pear"; // Изменение второго элемента массива

В ассоциативных массивах обновление происходит аналогично.

$person["age"] = 31; // Обновление значения по ключу

Доступ к элементам

Для доступа к элементам массива также используется синтаксис квадратных скобок.

echo $fruits[2]; // Выводит "cherry"

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

echo $person["name"]; // Выводит "John"

Обход массивов

  1. Цикл foreach.

Наиболее популярный способ обхода массивов в PHP — это цикл foreach. Он позволяет легко работать с каждым элементом массива поочередно.

foreach ($fruits as $fruit) {
    echo $fruit . "<br>";
}

Если нужно работать не только с элементами, но и с ключами (что актуально для ассоциативных массивов), можно использовать следующий синтаксис:

foreach ($person as $key => $value) {
    echo "$key: $value<br>";
}
  1. Цикл for.

Цикл for используется для работы с индексированными массивами, когда вам нужно контролировать индексы элементов:

for ($i = 0; $i < count($fruits); $i++) {
    echo $fruits[$i] . "<br>";
}
  1. Функция array_map().

Эта функция позволяет применить пользовательскую функцию к каждому элементу массива и вернуть новый массив с измененными элементами:

$upperFruits = array_map("strtoupper", $fruits);
  1. Функция array_walk().

array_walk() более гибкая функция, которая позволяет изменять элементы массива прямо внутри оригинального массива.

array_walk($fruits, function(&$fruit) {
    $fruit = strtoupper($fruit);
});

Основные методы и функции для работы с массивами

Сортировка массивов

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

  1. sort() сортирует массив по возрастанию значений.
sort($fruits);
  1. rsort() сортирует массив по убыванию.
rsort($fruits);
  1. asort() сортирует ассоциативный массив по значению, сохраняя ключи.
asort($person);
  1. ksort() сортирует ассоциативный массив по ключам.
ksort($person);
  1. usort() позволяет задавать свою функцию сравнения элементов.
usort($fruits, function($a, $b) {
    return strlen($a) - strlen($b);
});

Фильтрация массива

Чтобы отфильтровать массив на основе условий, можно использовать функцию array_filter().

$filteredFruits = array_filter($fruits, function($fruit) {
    return strlen($fruit) > 5;
});

Поиск в массиве

PHP предлагает несколько полезных функций для поиска.

  1. in_array() проверяет, существует ли значение в массиве.
if (in_array("apple", $fruits)) {
    echo "Apple is in the array.";
}
  1. array_search() возвращает ключ элемента, если он найден.
$key = array_search("banana", $fruits);
  1. array_key_exists() проверяет, существует ли определенный ключ в массиве.
if (array_key_exists("name", $person)) {
    echo "Name is set.";
}

Слияние и разделение массивов

  1. array_merge() объединяет два или более массива в один.
$allFruits = array_merge($fruits, ["grape", "peach"]);
  1. array_chunk() разбивает массив на несколько частей.
$chunks = array_chunk($fruits, 2);

Заключение

Массивы в PHP — это важный инструмент, который значительно упрощает работу с данными. В статье мы рассмотрели, как создавать массивы, добавлять и удалять элементы, сортировать и фильтровать массивы. Понимание этих основ поможет вам легко управлять данными в ваших PHP-приложениях. Если вы хотите изучить массивы и другие основы работы в PHP, для вас - курс “Основы PHP” от Хекслета.

Аватар пользователя Анастасия Уминская
Анастасия Уминская 25 сентября 2024
4
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря