РНР Изучение языка
Программирование интерактивных WEB-сайтов на языке PHP
PHP предоставляет несколько специальных символов, которые могут быть использованы в строках. Эти символы либо выполняют особые действия, либо не могут быть включены в строки обычным образом: Спец. символ Описание \n Перевод строки \r Возврат каретки \t Горизонтальная табуляция \\Обратный слеш(\) \$Знак доллара \"Двойная кавычка \ Символ с заданным восьмеричным кодом \x Символ с заданным шестнадцатеричным кодом
Символы обратного слеша, доллара и двойной кавычки не присутствуют в строках, поэтому вместо них должны использоваться соответствующие их специальные символы. Например, $output = "Гостиница "Азимут""; - неправильно $output = "Гостиница \"Азимут\""; - правильно
Знаки возврата каретки и перевода строки, следующие друг за другом, \r\n позволят начать вывод данных с помощью оператора echo с новой строки. Например, сценарий: echo "Начнем"; echo "вывод\r\n"; echo "с новой строки!!!"; выведет на экран: Начнем вывод с новой строки!!!
Выбор ограничивающих символов (апострофов или кавычек) важен при задании цепочки символов в операторе echo. Здесь оператор echo "Привет, $name "; отличается по выводимому результату от оператора echo Привет, $name ;
В первом случае (кавычки) интерпретатор подставит перед выводом значение переменной, указанной в цепочке символов, для $name=Петр; будет выведен текст Привет, Петр Во втором случае (апострофы) подстановка не выполняется и выводится имя переменной, т.е. строка в том виде, как она указана в операторе echo: Привет, $name
Арифметические операции служат для выполнения арифметических действий над операндами. Арифметические операции, поддерживаемые РНР: Оператор Описание -Смена знака числа +Сложение -Вычитание *Умножение /Деление %Остаток от деления ++Инкремент (увеличение на единицу) --Декремент (уменьшение на единицу)
Оператор смены знака числа ставится перед аргументом и меняет его знак: $r = -$r; Это выражение извлекает значение переменной $r, меняет его знак и снова помещает в переменную $r.
Оператор инкремента может стоять как перед аргументом, так и после него. $t = ++$r; Это выражение сначала инкрементирует значение переменной $r, а потом заносит его в переменную $t. $t = $r++; Это выражение, сначала заносит значение переменной $r в переменную $t, а потом инкрементирует значение переменной $r. Точно так же работает и оператор декремента.
Операторы инкремента и декремента рекомендуется использовать, если значение какой-либо переменной нужно просто увеличить или уменьшить на единицу. Выполняются быстрее, чем операторы сложения и вычитания.
Чему равно значение переменной $a в результате выполнения следующего скрипта? <?php $b=10; $c=++$b; $a=$c%$b; $a=$a--; ?>
Логические выражения Операторы сравнения сравнивают два аргумента согласно какому-то условию и возвращают логическое значение. Если условие сравнения выполняется, возвращается значение "истина" (true), если не выполняется "ложь" (false). Примеры выражений, использующих операторы сравнения: $a1 = (2 0) ; $a3 = ($r < $t);
Поддерживаемые РНР операторы сравнения: Операция Описание <Меньше >Больше ==Равно <=Меньше или равно >=Больше или равно != или <>Не равно ===Строго равно !==Строго не равно
Обычные операторы "равно" и "не равно", если встречают аргументы, содержащие значения разных типов, пытаются преобразовать их к одному типу. Операторы строгого равенства и строгого неравенства такого преобразования не делают, а в случае несовместимости типов аргументов всегда возвращают значение false.
Чему равны значения переменных $a, $b и $c после выполнения следующего сценария? <?php $str=Вычислить; $num=100; $a=($str===$num); $b=($str!==$num); $c=($num!=100); ?>
Оператор Описание !НЕ (логическая инверсия) && или andИ (логическое умножение) || или orИЛИ (логическое сложение) Логические операторы выполняют действия над логическими значениями:
Основная область применения логических операторов логические выражения с операторами сравнения. При вычислении выражений, содержащих логические операторы, РНР придерживается следующего правила: если в какой-то момент стало ясно, каков будет результат логического выражения, его вычисление прекращается.
Примеры $flag = ($а > 3) || ($b + $с != 10); $d = ($t == 0) && ($у < 100); Эта особенность заметно ускоряет обработку сценариев, содержащих логические выражения с операторами && и ||.
a)Какое значение получит переменная $flag, если $flag = !($status == 0); b)Какое значение получит переменная $flag, если $flag = ($а > 3) || ($b + $с != 10); c)Как запишется логическое выражение, возвращающее значение true, если значение переменной $x принадлежит одному из двух интервалов значений: от - 10 до 0 (0 не попадает в интервал) и от 0 (0 не попадает в интервал) до 10?
Совместимость и преобразование типов данных Что произойдет, если сложить число и строку? Обработчик РНР попытается сделать эти типы совместимыми, преобразуя один из них к другому, попытается преобразовать строку в число и после этого выполнит сложение. Преобразование строки в число выполняется по следующим правилам: если начало строки содержит цифры, которые можно преобразовать в целое число, строка будет преобразована в целое число; если начало строки содержит цифры, которые можно преобразовать в число с плавающей точкой, строка будет преобразована в число с плавающей точкой; если начало строки вообще не содержит цифр, строка будет преобразована в 0.
Рассмотрим сценарий: $а = 11; $b = "10 негритят"; $с = $а + $b; Переменная $с получит значение 21 (11+10).
При попытке объединить строку и число последнее будет преобразовано в строку: $s = "PHP; $n = 4; $result = $s. $n; Здесь переменная $result получит значение PHP4.
Логические величины преобразуются либо в числовые, либо в строковые, в зависимости от конкретного случая. Значение true будет преобразовано в число 1 или строку "1", а значение false в 0 или "0". При преобразовании строк или чисел в логические величины правила более сложные. Так, числовое значение 0 и строки "" (пустая строка, не содержащая ни единого символа) и "0" будут преобразованы в значение false. Все остальное (ненулевые числа и непустые строки) будут преобразованы в true.
Лучше оперировать только данными совместимых типов. Если же все-таки нужно объединить в одном операторе разнотипные аргументы, следует выполнить приведение типов. Достаточно поставить перед аргументом, который нужно преобразовать в другой тип, ключевое слово, обозначающее нужный тип данных, взяв его в скобки: (bool) для преобразования в логический тип; (int) для преобразования в целочисленный тип; (float) для преобразования в тип с плавающей точкой; (string) для преобразования в строковый тип.
Пример : $n = 4; $result = $s. (string) $n; В логических выражениях, использующих операторы сравнения, РНР также выполняет преобразование типов. Исключение составляют только операторы строгого сравнения.
Приоритет операторов Приоритет влияет на порядок, в котором выполняются операторы в выражении. Сначала выполняются операторы с более высоким приоритетом, а уже потом операторы с более низким. Операторы с одинаковым приоритетом выполняются в порядке их следования в выражении слева направо.
Чтобы нарушить обычный порядок выполнения операторов следует воспользоваться скобками. Заключенные в скобки операторы имеют более высокий приоритет, чем находящиеся вне скобок, и поэтому всегда выполняются первыми.
$а = ($b + $с) * 10; В этом сценарии сначала будет выполнено сложение значений переменных $b и $с, а потом получившаяся сумма будет умножена на 10.
Операторы, заключенные в скобки, также подчиняются приоритету. Поэтому часто используются многократно вложенные скобки. $а = (($b + $с) * 10 - $d) / 2 + 9;
Сложные выражения PHP Сложные выражения составлены из нескольких простых выражений. Сложные выражения делятся на несколько видов и используются, в основном, для управления тем, как выполняется код сценариев.
Блоки Представляют собой несколько более простых выражений, объединенных в одно. Чтобы создать блок, достаточно заключить составляющие его простые выражения в фигурные скобки: { $а = 2; $b = 3; $с = $а + $b; echo $c; } После закрывающей фигурной скобки точку с запятой ставить не нужно. Обычно блоки не используются сами по себе. Чаще всего они входят в состав других сложных выражений.
Условное выражения Условное выражение позволяет выполнить один из двух входящих в него блоков в зависимости от выполнения или невыполнения какого-либо условия. Таким условием может быть значение логической переменной или результат вычисления логического выражения. Условное выражение создается с помощью операторов if и else и имеет следующий формат: if ( ) { } else { }
Условие логическое выражение, в соответствии с которым РНР принимает решение, какой блок выполнить. Если условие имеет значение true ("истина"), то выполняется первый блок. Если же условие имеет значение false ("ложь"), то выполняется второй блок. В условном выражении должны использоваться только блоки это обязательно!
Пример условного выражения: if ($х == 1) { $а = "Единица"; $b = 1; } else { $а = "Не единица"; $b = 22222; } Здесь значение переменной $х сравнивается с единицей и, в зависимости от результатов сравнения, присваиваем переменным $а и $b разные значения.
Существует другая, разновидность условного выражения, содержащая только одно выражение, которое выполняется при выполнении условия и пропускается, если условие не выполнено. if ( ) В этом случае использовать блоки не обязательно.
if ($flag) { $status = "Операция выполнена."; $error_code = 0; } if ($х < 0) $х =0;