- •Переменные
- •Внешние переменные
- •Константы
- •Типы данных в рнр. Преобразование типов
- •Операторы
- •2. Операторы языка php Операторы выбора/ if...Else
- •Операторы выбора/ Переключатель switch
- •Операторы цикла
- •Операторы цикла/ While
- •Операторы цикла/ Do…while
- •Операторы цикла/ For
- •3. Строковые функции php
- •Функция htmlspecialchars
- •Функции поиска в тексте
- •Функции strlen(), chr() и ord()
- •Trim-функции (функции удаления пробельных символов)
- •Функции форматного вывода. Спецификаторы преобразования
- •Функция sscanf()
- •Функции преобразования кодировки
- •Функции работы с бинарными данными
- •Функции работы с блоками текста
- •Функции объединения/разделения строк
- •Функции сравнения строк
- •Функции работы с url
- •Функции преобразования регистра
- •Заключение к главе 3
- •4. Массивы Инициализация массивов
- •Цикл foreach для обхода массивов
- •Многомерные массивы
- •Функция count()
- •Функция in_array()
- •Функция reset()
- •Функции сортировки массивов
- •Работа с курсором (указатель) массива
- •Функция array_walk()
- •Функции Определения и вызовы функций
- •Время жизни переменной
- •Что такое рекурсия
- •Работа с файлами Открытие файлов
- •Отображение файлов
- •Закрытие файлов
- •Чтение из файлов и запись в файлы Чтение из файлов
- •Запись в файлы
- •Копирование, переименование и удаление файлов
- •Атрибуты файлов
- •Перемещение по файлам
- •Работа с каталогами
- •Методы put и post
- •7. Регулярные выражения
- •Базовый синтаксис и создание регулярных выражений
- •Групповой символ
- •Исключающее выражение
- •Квалификаторы
- •Границы
- •Подвыражения
- •Соответствие началу и концу строки
- •Сопоставление со специальными символами
- •Классы символов
- •Функции для работы с регулярными выражениями
- •Perl-совместимые регулярные выражения
- •8. Сессии и cookie в php Сессии (сеансы) в php
- •Открытие сессии
- •Регистрация переменных сессии
- •Закрытие сессии
- •Пример простой сессии
- •Установка cookies
- •Пример простого приложения с cookies
- •Установка срока годности cookies
- •Удаление cookie
- •Проблемы безопасности, связанные с cookies
- •Установка области видимости cookie
- •Шифрование
- •Ограничение доступа для доменов
- •Отправка cookies по защищенному запросу
- •9. Работа с ftp средствами php Основные возможности php при работе с ftp
- •Соединение с ftp-сервером
- •Регистрация на ftp-сервере
- •Закрытие соединения
- •Загрузка файлов с сервера
- •Другие возможности при работе с ftp
- •Переход в родительский каталог
- •Работа через брандмауэр
- •10. Проверка корректности данных Проверка корректности данных
- •Проверка на пустоту поля
- •Проверка допустимости вводимых данных
- •Удаление html - тегов и обратных слешей
- •11. Пишем гостевую книгу на php
- •Добавление записи
- •Реляционные базы данных
- •Индексы
- •Первичные ключи
- •Способы задания первичного ключа
- •Нормализация базы данных
- •Работа с сервером MySql
- •Язык sql
- •Команды sql
- •Типы полей базы данных
Работа с курсором (указатель) массива
end() next() |
prev() current() |
key() each() |
О функции reset() мы с вами уже говорили. Напомним, что эта функция производит сброс курсора массива, т.е. устанавливает внутренний курсор массива на начало массива и возвращает значение первого элемента.
Функция end() выполняет действие, обратное функции reset() – переносит курсор в конец массива. Синтаксис функции аналогичен синтаксису функции reset():
end()
Синтаксис:
mixed end(array array arr)
next()
Функция next() производит перенос курсора массива вперед на одну позицию.
Синтаксис:
mixed next(array array arr)
Т.е. эта функция перемещает курсор массива на следующий элемент, при этом возвращая значение элемента, на котором находился курсор до перемещения. Если элементов в массиве больше не осталось, функция возвращает false. При работе с этой функцией надо не забывать про один моментик, а именно: false также возвращается, если курсору повстречается элемент с пустым значением. Так что, если вы хотите работать с массивами, содержащими пустые элементы, то используйте лучше функцию each(), о которой мы поговорим через несколько абзацев.
prev()
Функция prev() производит перенос курсора назад на одну позицию. Синтаксис и работа функции полностью аналогичны функции next().
Синтаксис:
mixed prev(array array arr)
current()
Для определения текущего элемента массива, без изменения положения курсора, используется функция current().
Синтаксис:
mixed current(array array arr)
Функция current() возвращает значение элемента, на котором в данный момент находится курсор массива, при этом не сдвигая курсор. В том случае, если курсор оказался за пределами массива, или массив состоит из пустых элементов, функция возвратит false.
Полным синонимом функции current() является функция pos().
key()
Функция key() возвращает индекс текущего элемента массива.
Синтаксис:
mixed key(array array arr)
Ну а теперь поговорим об обещанной функции each().
each()
Синтаксис:
array each(array array arr)
Функция each() возвращает пару "индекс - значение" текущего элемента массива и сдвигает курсор массива на следующий элемент. При этом, как видно, функция возвращает массив, причем он имеет четыре элемента:
[1] => "значение"
[value] => "значение"
[0] => индекс
[key] => индекс
Если курсор достиг конца массива, функция возвращает false. Посмотрим, как работает эта функция:
Пример:
<?
$name = array("maks", "igor", "sergey");
$each_name = each($name);
print_r($each_name);
echo("<br>");
$each_name = each($name);
print_r($each_name);
echo("<br>");
$each_name = each($name);
print_r($each_name);
?>
И что мы получили:
Результат:
Array ( [1] => maks [value] => maks [0] => 0 [key] => 0 ) Array ( [1] => igor [value] => igor [0] => 1 [key] => 1 ) Array ( [1] => sergey [value] => sergey [0] => 2 [key] => 2 ) |
Функцию each() можно использовать в паре с функцией list() для перебора элементов массива. К примеру, вот так:
Пример:
<?
$name = array("maks", "igor", "sergey");
reset($name);
while(list($key, $val) = each($name))
{
echo ("$key = $val<br>");
}
?>
И вот что на выходе:
Результат:
0 = maks 1 = igor 2 = sergey |