Отправляет email-рассылки с помощью сервиса Sendsay

Изучаем PHP

  Все выпуски  

Изучаем PHP Выпуск третий


Информационный Канал Subscribe.Ru


ИЗУЧАЕМ PHP
.: ЭЛЕКТРОННОЕ ПОСОБИЕ ДЛЯ "ЧАЙНИКОВ" :.

www.php.net | www.hotscripts.com | details.phpclub.ru | www.phpwizard.net
www.phpbuilder.com | www.devshed.com | php.kaliningrad.net | phpclub.net

.: ВЫПУСК ТРЕТИЙ :.

.: ВСТУПЛЕНИЕ :.

В сегодняшнем выпуске мы поговорим о второй по счету (после переменных и функций) силе PHP. Это - управляющие структуры. Фактически, не одна программа не обходится без них, поэтому понимание их сути просто необходимо.
Напомним, что если вы пропустили предыдущие занятия, вы всегда можете найти их в нашем архиве, находящемся по адресу http://subscribe.ru/archive/inet.webbuild.learnphp/

.: УПРАВЛЯЮЩИЕ СТРУКТУРЫ :.

Управляющие структуры можно разделить на следующие группы:

  1. Условные операторы

  2. Операторы цикла

  3. Операторы завершения работы

Последние часто не относят к управляющим структурам, однако мы сделаем это для того, чтобы не упустить ни детали PHP.
Итак, начнем с условных операторов. Их суть заключается в том, что сначала проверяется правильность какого-либо условия, а затем выполняются действия, если условие верно. Самым "популярным" условным оператором является оператор
if. Синтаксис его таков:

if(условие1) {
действия1
}
elseif(условие2) {
действия2
}
else {
действия3
}

Принцип действия структуры таков: проверяется условие, стоящее возле оператора if и если оно верно, выполняются действия1, а если нет, проверяется условие, стоящее возле оператора elseif и если оно верно, выполняются действия2. Операторов elseif в структуре может быть сколько угодно. Если же ни одно условие не было верным, выполняются действия3, стоящие после оператора else. Очень легко догадаться, почему этому оператору не передаются никакие условия.
Упрощенным аналогом структуры
if является структура switch:

switch(проверяемая_переменная) {
case значение1 {
действия1
}
case значение2 {
действия2
}
default {
действия3
}
}

В этом случае переменная проверяемая_переменная проверяется на значения, стоящие после операторов case. Если значения переменной и условия совпадают, выполняются соответствующие действия. Оператор default аналогичен оператору else.
Для демонстрации работы этой структуры представим, что броузер передает скрипту введенное пользователем значение поля your_mark. Это - поле для ввода полученной оценки. Тогда программа обработки может выглядеть так:

<?php
$message = "Вы получили $your_mark. $comments");
switch $your_mark {
case 5 {
$comments = "Молодцы! Так держать!";
break;
}
case 4 {
$comments = "Хорошо, но можно и лучше.";
break;
}
case 3 {
$comments = "Плохо, нужно лучше учиться!";
break;
}
case 2 {
$comments = "Кажется, вы не учитесь, а до сих пор празднуете Новый Год.";
break;
}
case 1 {
$comments = "Это ужасно! Не знать элементарных вещей - это позор!";
break;
}
default {
$message = "Что-то вы неправильно ввели свою оценку!";
}
}
?>

Теперь настало время обратиться к операторам цикла. Они выполняют какие-либо действия, пока условия верны и очень удобны для выдачи информации, объем которой заранее неизвестен (такое использование операторов цикла мы рассмотрим при изучении MySQL). Рассмотрим оператор цикла while:

while(условие) {
действия
}

При работе с оператором while соблюдайте следующее правило: всегда изменяйте значение переменной, заданное в условии. Если вы не будете делать этого, создастся бесконечный цикл, что может привести к зависанию компьютера или "краху" ОС. Ниже приведен пример работы оператора:

<?php
$num = 1;
while($num <= 13) {
print("Все еще меньше 13!");
$num++;     // Изменение значения переменной $num (повышение на еденицу)
}
?>

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

foreach(массив as элемент) {
действия
}

Принцип действия этого оператора прост: над каждым элементом массива массив, условно названным элемент выполняются действия. Также может быть использован второй синтаксис оператора:

foreach(массив as ключ => элемент) {
действия
}

Если вы заметили, то при рассмотрении оператора switch мы использовали в программе оператор break. Это один из операторов, управляющих работой программы. Если нужно прервать выполнение какой-либо структуры, используйте break. Для возобновления работы структуры - continue.
А нам осталось рассмотреть только операторы завершения работы. Их два. Первый -
exit - завершает выполнение программы немедленно. Он может быть применен при создании сообщений об ошибках. Второй - die() - принимает в качестве аргумента любой текст и выдает его прежде чем завершить работу программы.

.: РАБОТА СО СТРОКАМИ :.

Мы думаем, что стоит объяснить, как описывается функция. Сначала указывается ее название. На второй строке - версии интерпретаторов, которыми поддерживается указанная функция. Далее - описание функции и ее синтаксис.


ADDSLASHES
PHP3, PHP4

addslashes("строка");

Функция возвращает строку с обратным слэшем перед служебными символами (двойные и одинарные кавычки, значение "NUL", обратный слэш).


CHOP
PHP3, PHP4

chop("строка");

Возвращает строку без пробелов на конце.


CONVERT_CYR_STRING
PHP 3.0.6 и выше, PHP4

convert_cyr_string("строка", "из_кодировки", "в_кодировку");

Конвертирует символы строки из кодировки из_кодировки в кодировку в_кодировку. Поддерживаемые обозначения кодировок:

  • k - KOI8-R

  • w - Windows-1215

  • i - ISO8859-5

  • a - X-CP866

  • d - X-CP866

  • m - X-Mac-Cyrillic


COUNT_CHARS
PHP 4.0b.4 и выше

count_chars("строка", "режим");

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

  • 0 - режим по умолчанию. Возвращает индексный массив, в качестве ключа которого выступает код символа, в качестве значения - число встреченных символов в строке.

  • 1 - возвращается индексный массив с пустыми значениями. В качестве ключей выступают коды символов в строке.

  • 2 - возвращается индексный массив с пустыми значениями. В качестве ключей выступают коды символов, которых нет в строке.

  • 3 - возвращается строка, в которой каждый встреченный символ присутствует в единственном экземпляре.

  • 4 - возвращается строка, которая содержит набор символов, отсутствующих в строке.


ECHO
Любой

echo "строка";

Выводит строку в броузер. Синоним функции print().


EXPLODE
PHP3, PHP4

explode("разделитель", "строка", "предел_числа_элементов");

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

$string = "php,mysql,css,html";
$elements = explode(",", "$string");
//массив $elements содержит следующие элементы: 0 - php, 1 - mysql, 2 - css, 3 - html


HTMLENTITIES
PHP3, PHP4

htmlentities("строка");

Функция возвращает содержимое строки строка, игнорируя все встретившиеся теги HTML и PHP.


HTMLSPECIALCHARS
PHP3, PHP4

Синоним функции htmlentities() с тем лишь исключением, что она производит замену специальных символов в их обозначения (например, знак кавычки " в &quot).


IMPLODE
PHP3, PHP4

implode("массив", "разделитель");

Противовес функции explode(). Она соединяет элементы массива массив, разделяя их разделителем.


LTRIM
PHP3, PHP4

ltrim("строка");

Удаляет пробелы в начале строки строка.


RTRIM
PHP3, PHP4

rtrim("строка");

Удаляет пробелы в конце строки строка.


STRLEN
PHP3, PHP4

strlen("строка");

Возвращает длину строки строка.


STRSTR
PHP3, PHP4

strstr("строка", "подстрока");

Возвращает первое вхождение подстроки подстрока в строку строка. Например:

strstr("Кто хочет стать миллионером?", "миллионер"); // возвращает: миллионером


STRISTR
PHP3, PHP4

stristr("строка", "подстрока");

То же самое, что и предыдущая, но без учета регистра.


STRRCHR
PHP3, PHP4

strrchr("строка", "подстрока");

Возвращает последнее вхождение подстроки подстрока в строку строка.


STRREV
PHP3, PHP4

strrev("строка");

Возвращает строку строка, написанную наоборот. Например:

strrev("НаДомеЧемодан"); // возвращает: надомеЧемоДаН


STR_REPLACE
PHP3, PHP4

str_replace("строка1", "замена", "строка2");

Заменяет все вхождения строки строка1 в строку строка2 строкой замена.


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

.: ПЛАН :.

На сегодня это все. Читайте в следующем выпуске:

  • Регулярные выражения

  • Работа с массивами

Не забывайте присылать ваши вопросы на learnphp@mail.ru.

Преподаватель: Юткин А.А.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное