PHP — массивы (array)

Массивы (array) в PHP

Массивы — это пожалуй одна из интересных частей в PHP. Для чего они нужны? Они нужны для того, чтобы объединить связанные по смыслу между собой данные, либо какой-то набор элементов. Из жизни можно привести пример про магазин, я возможно уже о нем говорил в более ранних статьях. Представьте, вы зашли в супермаркет, взяли корзинку — это массив, в ней изначально нет элементов, она пустая. После вы начинаете в нее складывать товары — это элементы массива. Количество элементов в массиве — это размер массива, в одномерных массивах нумерация идет от нуля.

Какие же еще бывают массивы? Массивы могут быть простыми (одномерными) и ассоциативными. Например объявление о недвижимости состоит из таких частей как:

  • заголовок
  • тип недвижимости
  • операция с недвижимостью
  • количество комнат
  • адрес
  • локация
  • описание
  • имя продавца
  • номер продавца
  • дата
  • цена

Это поля простого объявления по недвижимости, лучше всего эти данные представить в виде ассоциативного массива, который можно поместить в переменную $estate, код:

<?php
$estate = [
    "title"        => "Сдам квартиру в Иркутске",
    "type"         => "Квартира",
    "operation"    => "Сдам",
    "rooms"        => 1,
    "address"      => "Партизанская, 74",
    "location"     => ["lat" => "104.303026", "lang" => "52.273716"],
    "description"  => "Новая квартира для семейной пары",
    "seller_name"  => "Вася",
    "seller_phone" => "+79998887766",
    "date"         => new DateTime("10.10.2017"),
    "price"        => 12000,
];
?>

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

Пример записи простого массива в PHP, код:

<?php
$symbols = ["/", ".", "-", "=", "*"];
// так же массив можно записать другим образом
$symbols = array("/", ".", "-", "=", "*");
?>

Массив в PHP можно создать как с помощью квадратных скобок, так и через «array()», синтаксис может быть различным, но сути это не меняет. Для кого то удобно записывать через «array()», а кто то пишет через «[]», некоторые в настройках phpcs (code sniffer) определяют правило, что массив может быть записан только одним из ранее указанных методов. Это делается для того, чтобы при командной разработке не возникало непонятных ситуаций и код был одинаковый, не зависимо от того, кто из членов команды его написал.

Сортировка массивов (asort, usort, ksort, rsort и тд.)

Имя функции Сортирует по Сохраняет связь ключ — значение Порядок сортировки Похожие функции
array_multisort() значению ассоциативные да, числовые нет первый массив или настройки сортировки array_walk()
asort() значению да по возрастанию arsort()
arsort() значению да по убыванию asort()
krsort() ключу да по убыванию ksort()
ksort() ключу да по возрастанию asort()
natcasesort() значению да натуральный, чувствителен к регистру natsort()
natsort() значению да натуральный natcasesort()
rsort() значению нет по убыванию sort()
shuffle() значению нет случайный array_rand()
sort() значению нет по возрастанию rsort()
uasort() значению да определяется пользователем uksort()
uksort() ключу да определяется пользователем uasort()
usort() значению нет определяется пользователем uasort()

По каждой функции есть мануал (техническая документация), я не стал расписывать информацию о каждой функции (ознакомиться с каждой вы можете нажав на нее и перейдя по ссылке на php.net). В этой статье мы лишь рассмотрим один пример сортировки массивов и более подробнее рассмотрим в практическом уроке сортировку массивов в PHP, после этой статьи.

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

Пример сортировки массива в PHP:

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
?>

Если вывести на экран по порядку ключ и значение каждого элемента массива, то мы увидим:

c = apple
b = banana
d = lemon
a = orange

asort — отсортировал значения массивов в алфавитном порядке, при этом сохранил ключи, например функция arsort — сделает это наоборот.

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

Заключение

С массивами можно производить массу операций, обрезать их значения, менять ключи, сортировать, выбивать элементы, делать уникальными, переворачивать (делать реверс) и многое другое. Массивы будут идти с вами рука об руку на протяжении всего времени, пока вы будете заниматься программированием, так как они являются неотъемлемой частью любого кода. В следующей статье мы с вами на практике будем использовать массивы и проводить с ними различные операции — оторвемся!

Подпишитесь на рассылку новых статей

Подпишитесь на рассылку свежих статей и присоединяйтесь к 5 остальным подписчикам.

PHP — массивы (array): 1 комментарий

  1. Уведомление: PHP — циклы (foreach, while, for, do-while) — slashdash.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *