ГРУППА КУРСА
|
Главная >
Учебник PHP >
Массивы PHPЧто такое массивМассив - это набор данных. Каждый элемент массива, как обычная переменная, содержит какое-то значение. Это значение можно получить и можно присвоить элементу массива новое значение. Элемент массива может содержать значение любого типа, в том числе другой массив. В PHP cуществуют индексированные и ассоциативные массивы. У индексированных каждый элемент имеет номер, который называется индекс. У ассоциативного вместо индексов используются названия. Индекс или название это ключ элемента. Он применяется для обращения к конкретному элементу. В PHP нет особой разницы между индексированными и ассоциативными массивами. Работа с ними происходит практически одинаково. Можно создать массив, в котором будут и индексы и строковые ключи. Создание массиваВ PHP массивы создаются с помощью ключевого слова array. В скобках перечисляются элементы в таком виде: ключ => значение Элементы разделяются запятыми. Пример: +
Ключи указывать не обязательно. В этом случае они будут созданы по порядку.
Ассациативные массивы создаются таким же способом:
Есть ещё один способ создания массива. Нужно указать знчение элементу несуществующего массива.
Вы можете создать пустой массив и только потом наполнять его. Это можно делать любым способом: и через ключевое слово array, и с помощью квадратных скобок.
Вывод массиваДля вывода одного элемента массива используется конструкция echo. Она выведет значение элемента так же, как значение переменной. Но для вывода всего массива она не подходит. Вместо этого можно использовать функцию print_r(). Выведем массив $pr на экран:
Обращение к элементам массиваЧтобы получить или изменить значение определённого элемента массива, нужно к нему обратиться. Для обращения к элементу пишется имя массива, а затем в квадратных скобках указывается конкретный элемент. Пример:
Обращение к ассоциативному массиву делается так же. Только ключ элемента - это строка, и она пишется в кавычках.
Изменение массиваЗначение любого элемента массива можно изменить.
Если присвоить значение элементу, который не существует, то этот элемент будет добавлен в массив. Порядок индексов соблюдать не обязательно. В любой массив можно добавлять элементы с индексами и строковыми ключами. Если у элемента не указать ключ, то этот элемент будет добавлен в конец массива.
Функцию unset() можно использовать для удаления элемента массива. Кроме того, существует функция array_pop(), которая удаляет из массива последний элемент и возвращает его значение. При обоих способах переиндексация не производится. Индексы оставшихся элементов остаются такие, какие были. Удалим элементы из массива $newmas с использованием предложенных функций:
Функция unset() применяется только к существующему элементу, иначе будет ошибка. Если неизвестно, есть ли элемент, то можно проверить его существование.
Перебор массиваЧтобы произвести какие-то действия с каждым элементом массива используется цикл. Чтобы определить количество итераций нужно получить длину массива. Для этого используется функция count(), которая возвращает количество элементов. Для примера выведем каждый элемент массива $mas:
Не желательно использовать фунцию count() внутри цикла. В этом случае она будет выполняться на каждой итерации. Лучше записать результат её работы в переменную и использовать эту переменную в цикле. Такой цикл можно использовать для массивов, в которых все индексы элементов идут подряд. Если каких-то элементов нет, то этот цикл ипользовать неудобно. Кроме того, он не подходит для ассоциативных массивов. Для них есть конструкция foreach, которая производит перебор массива.
Первая переменная в скобках - это массив, по которому производится цикл. На каждой итерации цикла в переменную $key записывается ключ элемента, а в переменну. $value - значение элемента. В цикле происходит столько итераций, сколько элементов содержит массив. Имена $key и $value не обязательные. Вы можете использовать любые. С помощю переменной $value можно только получить значение элемента массива. Изменить значение не получится. Ведь в переменную просто копируется значение элемена. Чтобы изменить элемент, нужно использовать ключ и обращаться к массиву. Пример:
Если вы не изменяете значания элементов, и ключи элементов не используются, то переменную $key в конструкции foreach можно не указывать. Массив в строкуФункция implode() формирует одну строку, состоящую из значений массива. Между значениями вставляется разделитель. implode (разделитель, массив) Параметры:
разделитель - строка, которая вставляется между элементами массив - массив, который объединяется в строку Для примера преобразуем $mas в строку:
Разделителем может быть любая строка, в том числе, пробел. Разделитель можно не указывать, тогда значения элементов будут идти сразу друг за другом. Функция explode(), делит строку по разделителю и помещает части строки в массив. explode (разделитель, строка) Параметры:
разделитель - набор символов, по которому делится строка. Разделитель не добавляется в элементы массива строка - строка, которая помещается в массив лимит - если положителен, то будет создано максимум такое количество элементов. В последний элемент помещается весь остаток строки. Если отрицателен, то в массив помещаются все части строки, кроме указанного количества последних частей строки. Необязательный параметр Разделим созданную ранее строку:
Двухмерные массивыРанее мы рассматривали только одномерные массивы, но они могут иметь и больше измерений. Они могут быть двухмерные, трёхмерные, четырёхменрые и так далее. Если одномерный массив можно представить в виде строки, то двухмерный - это страница, состоящая из нескольких строк. Также двухмерный массив можно представить в виде таблицы, в которой есть строки, а в каждой строке есть ячейки. Каждый элемент в таком массиве имеет два индекса - индекс первого измерения и второго измерения. Эти индексы можно сравнить с номером строки и номером символа в строке. В коде программы каждый индекс пишется в квадратных скобках. Пример:
Многомерные массивы бывают не только индексированные, но и ассоциативные. Функции для работы с масссивамиВ PHP есть много функций для работы с массивами. Функции, которые используются наиболее часто, приведены в следующей таблице:
|