Привет, Гость!
home login register
[+] Купить Рекламу
Хостинг для тебя! Заходи не пожалеешь
Что мы делаем полезного на официальном сайте WAP-поддержки? Подробно ...
Вступайте в нашу группу ВКОНТАКТЕ
Поздравляем, новичка с ID:1000
Как самомусделать QR-код
IT новости: в Windows новая опасная уязвимость
Проблемы восприятия IT
Как подтвердить авторство в Google

Учебник PHP #5
<< 1 2 3 4 5 ... 7 >>
знаете, что такое «очередь» или «стек», не огорчайтесь — в этих функциях нет ничего сложного.

Очередью (queue) называется структура данных, из которой элементы извлекаются в порядке поступления. Стеком (stack) называется структура данных, из которой элементы извлекаются в порядке, обратном порядку их поступления.

array_push( )

Функция array_push( ) присоединяет (то есть дописывает в конец массива) один или несколько новых элементов. Синтаксис функции array_push( ):

int array_push(array массив, mixed элемент [, ...])

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

$languages = array("Spanish", "English", "French");

array_push($languages, "Russian", "German", "Gaelic");

// $languages = array("Spanish", "English", "French",

// "Russian", "German", "Gaelic")

У функции array_push( ), как и у многих стандартных функций РНР, существует «двойник» — функция аrrау_рор( ), предназначенная для извлечения элементов из массива. Главное различие между этими функциями заключается в том, что array_push( ) может добавлять несколько элементов одновременно, а аrrау_рор( ) удаляет элементы только по одному.

аrrау_рор( )

Результат работы функции аrrау_рор( ) прямо противоположен array_push( ) — эта функция извлекает (то есть удаляет) последний элемент из массива. Извлеченный элемент возвращается функцией. Синтаксис функции аrrау_рор( ):

аrrау_рор(аrrау массив)

При каждом выполнении аrrау_рор( ) размер массива уменьшается на 1. Рассмотрим пример:

$languages = array("Spanish", "English", "French",

"Russian", "German", "Gaelic");

$a_language = array_pop($languages): // $a_language = "Gaelic"

$a_language = array_pop($languages): // $a_language = "German"

// $languages = array ("Spanish", "English", "French", "Russian");

Функции array_push( ), и array_pop( ) удобны тем, что с их помощью можно выполнять операции с элементами и управлять размером массива, не беспокоясь о неинициализированных или пустых элементах. Такое решение работает намного эффективнее, чем любые попытки управления этими факторами со стороны программиста.

array_shift( )

Функция array_shift( ) аналогична аrrау_рор( ) с одним отличием: элемент удаляется из начала (левого края) массива. Все остальные элементы массива сдвигаются на одну позицию к началу массива. У функции array_shift( ) такой же синтаксис, как и у аггау_рор( ):

array_shift(array массив)

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

$languages = array("Spanish", "English", "French", "Russian");

$a_language = array_shift($languages); // $a_language = "Spanish";

// $languages = array("English", "French", "Russian");

array_unshift( )

Функция array_unshift( ) дополняет array_shift( ) — новый элемент вставляется в начало массива, а остальные элементы сдвигаются на одну позицию вправо. Синтаксис команды array_unshift( ):

1nt array_unshift(array массив, mixed переменная1 [....переменная2])

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

$languages = array("French", "Italian", "Spanish");

array_unshift($languages, "Russian", "Swahili", "Chinese");

// $languages = array("Russian", "Swahili", "Chinese",

// "French", "Italian", "Spanish");

array_pad( )

Функция array_pad( ) позволяет быстро увеличить массив до желаемого размера посредством его дополнения стандартными элементами. Синтаксис функции array_pad( ):

array arrap_pad(array массив, int размер, mixed значение):

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

Если размер положителен, массив дополняется справа, а если отрицателен — слева.

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

Абсолютным значением (модулем) целого числа называется его значение без знака. Например, абсолютное значение чисел 5 и -5 равно 5.

Пример дополнения массива с конца:

$weights = array(1, 3, 5, 10, 15, 25, 50);

$weights = array_pad($weights. 10, 100);

// Результат: $weights = array(1, 3, 5, 10, 15, 25, 50, 100, 100, 100);

Пример дополнения массива с начала:

$weights = array(1, 3, 5, 10, 15, 25, 50);

$weights = array_pad($weights, -10, 100);

// Результат: $weights = array(100, 100, 100, 1, 3, 5, 10, 15, 25, 50);

Неправильная попытка дополнения массива:

$weights = array(1, 3, 5, 10, 15, 25, 50);

$weights = array_pad($weigtits, 3, 100);

// Массив $weights не изменяется:

// $weights = array(1, 3, 5, 10, 15, 25, 50);

Перебор элементов

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

reset( )

Функция reset( ) переводит внутренний указатель текущей позиции в массиве к первому элементу. Кроме того, она возвращает значение первого элемента. Синтаксис функции reset( ):

mixed reset (array массив)

Рассмотрим следующий массив:

$fruits = array("apple", "orange", "banana");

Допустим, указатель текущей позиции в этом массиве установлен на элемент "orange". Команда:

$a_fruit = reset($fruits);

вернет указатель в начало массива, то есть на элемент "apple", и вернет это значение, если результат вызова reset( ) используется в программе. Возможен и упрощенный вариант вызова:

reset($fruits);

В этом случае указатель переходит к первому элементу массива, а возвращаемое значение не используется.

each ( )

Функция each( ) при каждом вызове выполняет две операции: она возвращает пару «ключ/значение», на которую ссылается указатель текущей позиции, и перемещает указатель к следующему элементу. Синтаксис функции each( ):

array each (array массив)

Для удобства each ( ) возвращает ключ и значение в виде массива из четырех элементов; ключами этого массива являются 0, 1, value и key. Возвращаемый ключ ассоциируется с ключами 0 и key, а возвращаемое значение — с ключами 1 и value.

В следующем примере функция each ( ) возвращает элемент, находящийся в текущей позиции:

// Объявить массив из пяти элементов

$spices = array("parsley", "sage", "rosemary", "thyme", "pepper");

// Установить указатель на первый элемент массива

reset($spices);

// Создать массив $a_sp1ce. состоящий из четырех элементов

$a_spice = each($spices);

В результате выполнения приведенного фрагмента массив $a_spice будет содержать следующие пары «ключ/значение»:
Комментарии (0)
<< 1 2 3 4 5 ... 7 >>
Скачать Java книгу

»php/mysql/pdo/js
В библиотеку

На главную

Сообщество wap разработчиков I HwapCMS официальный сайт поддержки


RSS-лента
Генерация: 0.0078 сек.