Массивы в языке программирования php

Массивы в PHP

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

Например, так можно объявить массив с тремя значениями:

В коде выше мы создаём переменную $heroes и добавляем в неё 3 строки.

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

 'ABC123', 'name' => 'Смартфон iPhone X 64Gb White', 'price' => 50000, ];

Создание массива

Для создания пустого массива просто укажите квадратные скобки вместо значения:

PHP сообщает нам, что в переменной лежит массив (англ. array), в котором находится 0 значений.

Чтобы объявить массив с данными, просто перечислите значения в квадратных скобках:

Теперь в переменной $brands лежит массив, состоящий из трёх элементов.

Создание массивов с помощью квадратных скобок работает начиная с версии PHP 5.4. До этого использовался более громоздкий синтаксис:

Ключи и значения массива

Массив состоит из ключей (индексов) и соответствующих им значений. Это можно представить как таблицу:

Ключ Значение
0 Samsung
1 Apple
2 Nokia

У каждого значения есть свой ключ. В массиве не может быть несколько одинаковых ключей.

Вернёмся к предыдущему примеру и посмотрим, что лежит в массиве:

array(3) < [0]=>string(7) "samsung" [1]=> string(5) "apple" [2]=> string(5) "nokia" >

Когда мы создаём массив без указания ключей, PHP генерирует их автоматически в виде чисел, начиная с 0.

Указание ключей происходит с помощью конструкции => :

 'iPhone', 'price' => 5000]; // Большие массивы удобней писать так: $product2 = [ 'name' => 'Samsung', 'price' => 5000, 'status' => true, 'shipping' => 200 ];

Простые и ассоциативные массивы

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

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

Вывод массива

Вывод элементов массива выглядит следующим образом:

Для вывода содержимого массива можно использовать как уже знакомую нам функцию var_dump() , так и print_r() , которая предоставляет информацию о массивах в чуть более удобном для чтения виде.

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

'; print_r(['val1', 'val2', 'val3']); echo '

';

Array ( [0] => val1 [1] => val2 [2] => val3 )

Также вывести содержимое массива можно с помощью цикла foreach:

Подробней работу цикла foreach мы разберём в отдельном уроке.

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

Добавление новых элементов в массив выглядит следующим образом:

 'Вася']; // Добавляем элементы $arr['age'] = 20; $arr['status'] = 'В смятении'; // Перезаписываем элемент $arr['status'] = 'Спокоен';

Но если название ключа не играет роли, его можно опустить:

Удалить элемент массива можно с помощью функции unset() :

Двумерные и многомерные массивы

В качестве значения массива мы можем передать ещё один массив:

 'Вася']; // Добавляем новый элемент, содержащий массив $human['hands'] = ['left', 'right']; print_r($human);

В примере выше мы создали массив $human , а затем внутри него создали ещё один массив $human[‘hands’] . Результат в браузере:

Array ( [name] => Вася [hands] => Array ( [0] => left [1] => right ) )

Обратиться к элементу многомерного массива можно так:

Теперь мы можем хранить в одном массиве целую базу товаров:

 'iPhone', 'price' => 5000, 'status' => true ], [ 'name' => 'Samsung Galaxy', 'price' => 5000, 'status' => true ] ];

Или альтернативный вариант:

 'iPhone', 'price' => 5000, 'status' => true ]; $products[] = [ 'name' => 'Samsung Galaxy', 'price' => 5000, 'status' => true ];

Задача 1

1. Создайте массивы $user1 и $user2 , заполните ключи name и age в каждом массиве любыми значениями.
2. Увеличьте значение age у обоих массивов на 50%.
3. Выведите на экран значение ключа name обоих пользователей.

 'Петросян', 'age' => 50 ]; $user2 = [ 'name' => 'Мартиросян', 'age' => 40 ]; $user1['age'] *= 1.5; $user2['age'] *= 1.5; echo $user1['name'], ' ', $user2['name'];

Задача 2

1. Создайте массив $city , добавьте в него ключ name с любым значением.

2. Создайте подмассив streets с любыми случайными улицами. Каждая улица должна иметь имя (name) и количество домов (buildings_count), а также подмассив из номеров домов (old_buildings), подлежащих сносу.

 'Ростов', 'streets' => [ [ 'name' => 'Первая улица', 'buildings_count' => 15, 'old_buildings' => [4, 8, 12] ], [ 'name' => 'Вторая улица', 'buildings_count' => 5, 'old_buildings' => [1, 3] ], [ 'name' => 'Третья улица', 'buildings_count' => 23, 'old_buildings' => [2, 7, 12, 18] ], ] ]; // Жесть, да? echo $city['streets'][2]['old_buildings'][1]; // 7

Источник

Массивы в PHP: что это и как с ними работать на примерах

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

Простыми словами, массив в PHP — это набор определённых данных, объединенный под каким-либо названием (другими словами, несколько элементов в пределах одной переменной).

Зачем они нужны

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

И подобные объекты-массивы (array) есть практически во всех популярных языках программирования. По сути — это набор значений однотипных переменных, объединенных общим названием и сгруппированных в зоне распределения.

Сложно? Тогда, представьте список продуктов. Допустим, нам нужно купить:

В массиве эти продукты могут выглядеть следующим образом:

$groceries[0] = "Oranges"; $groceries[1] = "Cheese"; $groceries[2] = "Olives";
$groceries = array('Oranges','Cheese','Olives');

Почему массив — это удобно и красиво? Всё просто: он содержит в себе весь список объектов. Можно быстро добавить или удалить объект из списка, например.

Массив в PHP — не просто метод хранения данных. Скорее — это способ их организации.

Благодаря таким объектам вы можете создать простейшую базу данных и в дальнейшем управлять её содержимым. И обучение работе с массивами — одна из первых задач, с которыми вы столкнетесь, став программистом на PHP.

Типы массивов: численно-индексированный, ассоциативный, многомерный

Существует три разных типа таких объектов.

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

  1. Численно-индексированный. Это массив с числовым индексом. Доступ к значениям происходит линейно (другими словами, порядок индексов — линейный).
  2. Ассоциативный. Массив со строками в качестве индекса. Элементы находятся в соответствии со значениями ключей (а не в линейном порядке, как в случае с численно-индексированным типом массива).
  3. Многомерный. Массив, содержащий один или несколько массивов, доступ к значениям которых осуществляется с помощью нескольких индексов.

Разберём каждый из этих типов подробнее.

Численно-индексированный массив

Элементы массива адресуются индексами (числами). Такой массив может хранить любые данные, например: числа, строки, иные объекты.

Метод 1: согласно синтаксису:

Метод 2: путем прямого присвоения значений (с использованием индекса).

Обратите внимание: доступ к элементам массива осуществляется по их индексу.

Запомнить: индекс всегда начинается с 0.

Пример

Ассоциативные массивы

Элементы в этом типе представлены строковым идентификатором индекса. Этот идентификатор и применяется для доступа к элементам (вместо индекса). Например, вот так:

arrayname = array( "identifier1" => value2, "identifier2" => value2);

Пример

"45", "Boris"=>"47", "Joanna"=>"53"); echo "Pavel is " . $age['Pavel'] . " years old."; ?>

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

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

$mainarrayname = array( "subarrayname1" => array(elements), "subarrayname2" => array(elements) );

Пример

$ages=array( "dev1" => array("a1"=>1,"a2"=>2,"a3"=>3), "com1" => array("h1"=>45,"h2"=>65,"h3"=>35), "man1" => array("m1"=>22,"m2"=>44,"m3"=>5) );
echo $ages["com1"]["h2"]; prints 65

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

В PHP для создания массива используется одноименная функция:

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

Численно-индексированные

Существует два вида численно-индексированных массивов по типу присвоения индекса:

1. Автоматическое присвоение. Пример:

$animals = array("Cat", "Dog", "Mouse");

(помните: индекс всегда начинается с 0).

2. Ручное присвоение. Пример:

$cars[0] = "Cat"; $cars[1] = "Dog"; $cars[2] = "Mouse";

Ассоциативные

Напомним: это массивы, использующие «именованные» ключи, которые им присваивают (со строками-индексами).

Существует два способа создания ассоциативного массива:

$age = array("Papa"=>"45", "Baba"=>"77", "Mama"=>"53");

2 способ — более наглядный для объемных списков:

$age['Papa'] = "45"; $age['Baba'] = "77"; $age['Mama'] = "53".

Многомерные

Напомним: это массив, содержащий один или несколько массивов.

PHP поддерживает многомерные массивы глубиной в два / три / четыре / пять и более уровней. Но начинающим лучше воздержаться от работы с объектами глубже 3-х уровней.

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

  • Для выбора элемента двумерного массива нужно два индекса.
  • Для трехмерного — три индекса.
  • И так далее.

Двумерные массивы

Двумерный массив — это массив массивов. Трехмерный массив будет массив массивов массивов. И так далее.

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

В наличии (in stock)

Продано (sold)

Источник

Читайте также:  Схема программирования 8 букв
Оцените статью