Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Использование структур с условиями
<? php if ($expression == true): ? > Пример №1 Продвинутое изолирование с использованием условий В этом примере PHP пропускает блоки, где условие не соблюдается. Даже несмотря на то, что они находятся вне пары открывающих/закрывающих тегов, PHP пропустит их в соответствии с условием, так как интерпретатор PHP будет перепрыгивать через блоки, содержащиеся внутри условия, которое не соблюдается. При выводе больших блоков текста выход из режима синтаксического разбора PHP обычно более эффективен, чем отправка текста с помощью функций echo или print. Существует четыре набора тегов, которые могут быть использованы для обозначения PHP-кода. Из них только два <? php? > и < script language=" php" > < /script> ) всегда доступны. Другими двумя являются короткие теги и теги в стиле ASP, которые могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии, и поэтому не рекомендуются. Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, чтобы соответствовать XML стандартам, вам следует использовать форму <? php? >. 1. <? php echo 'если вы хотите работать с документами XHTML или XML, делайте так'; ? > 2. < script language=" php" > 3. <? echo 'это простейшая инструкция обработки SGML'; ? > 4. < % echo 'Вы можете по выбору использовать теги в стиле ASP'; %> Короткие теги (третий пример) доступны, только когда они включены с помощью директивы short_open_tag в конфигурационном файле php.ini, либо если PHP был скомпилирован с опцией --enable-short-tags. Теги в стиле ASP (четвертый пример) доступны, только когда они включены с помощью директивы asp_tags в конфигурационном файле php.ini. Замечание: Следует избегать использования коротких тегов при разработке приложений или библиотек, предназначенных для распространения или размещения на PHP-серверах, не находящихся под вашим контролем, так как короткие теги могут не поддерживаться на целевом сервере. Для создания переносимого, совместимого кода, не используйте короткие теги. Разделение инструкций Как в C или Perl, PHP требует окончания инструкций точкой запятой в конце каждой инструкции. Закрывающий тег блока PHP-кода автоматически применяет точку с запятой; т.е. нет необходимости ставить точку с запятой в конце последней строки блока с PHP-кодом. Закрывающий тег блока " поглотит" немедленно следующий за ним переход на новую строку, если таковой будет обнаружен. <? php <? php echo 'Это тест'? > <? php echo 'Мы опустили последний закрывающий тег';
Замечание: Закрывающий тег PHP-блока в конце файла не является обязательным, и в некоторых случаях его опускание довольно полезно, например, при использовании include или require, так, что нежелательные пробелы не останутся в конце файла и вы все еще сможете добавить http-заголовки после подключения к ответу сервера. Это также удобно при использовании буферизации вывода, где также нежелательно иметь пробелы в конце частей ответа, сгенерированного подключаемыми файлами. Комментарии PHP поддерживает комментарии в стиле 'C', 'C++' и оболочки Unix (стиль Perl). Например: <? php Однострочные комментарии идут только до конца строки или текущего блока PHP-кода, в зависимости от того, что идет перед ними. Это означает, что HTML-код после //...? > или #...? > будет напечатан:? > завершает режим PHP и возвращает режим HTML, а // или # не могут повлиять на это. Если включена директива asp_tags, то аналогичное поведение будет и с // %> и # %> . Однако, тег < /script> не завершает режим PHP в однострочном комментарии. < h1> Это <? php # echo " простой";? > пример< /h1>
'C'-комментарии заканчиваются при первой же обнаруженной последовательности */. Убедитесь, что вы не вкладываете друг в друга 'C'-комментарии. Очень легко допустить эту ошибку при комментировании большого блока кода. <? php Операторы: сравнения $a == $b // TRUE если $a равно $b. $a === $b // TRUE если $a равно $b И имеет тот Же тип $a! = $b // TRUE если $a не равно $b. $a! == $b // TRUE если $a не равно $b ИЛИ в Случае, если они разных типов. $a < $b // TRUE если $a строго меньше $b. $a > $b // TRUE если $a строго больше $b. $a < = $b // TRUE если $a меньше или равно $b. $a > = $b // TRUE если $a больше или равно $b. Операторы: логические $a and $b // TRUE если и $a, и $b TRUE. $a or $b // TRUE если или $a, или $b TRUE. ! $a // TRUE если $a не TRUE. $a & & $b // TRUE если и $a, и $b TRUE. $a || $b // TRUE если или $a, или $b TRUE. $a and $b and $c; $a and $b or $c $a and ($b and $c) ó $a and $b & & $c $a and ($b or $c) ó $a and $b || $c Типы данных PHP поддерживает восемь простых типов. Четыре скалярных типа: ü boolean ü integer ü float (число с плавающей точкой, также известное как double) ü string Два смешанных типа: ü array ü object Два специальных типа: ü resource ü NULL Как правило, программист не устанавливает тип переменной; обычно это делает PHP во время выполнения программы в зависимости от контекста, в котором используется переменная. Замечание: Если вы желаете проверить тип и значение определённого выражения, используйте var_dump() . Если же вам для отладки необходимо просто удобочитаемое представление типа, используйте gettype() . Чтобы проверить на определенный тип, не используйте gettype() , применяйте для этого is_type функции. <? php echo gettype($a_bool); // выводит: boolean // Если это целое, увеличить на четыре // Если $a_bool - это строка, вывести ее Если вы хотите принудительно изменить тип переменной, вы можете либо привести переменную, либо использовать функцию settype(). Обратите внимание, что переменная, в зависимости от ее типа в данный момент, в определённых ситуациях может иметь разные значения.
Булев тип Это простейший тип. boolean выражает истинность значения. Он может быть либо TRUE либо FALSE. Для указания boolean, используйте ключевое слово TRUE или FALSE. Оба регистро-независимы. <? php Обычно, некоторый оператор возвращает boolean значение, которое потом передается управляющей конструкции. <? php // это необязательно... //... потому что следующее имеет тот же самый смысл: Для явного преобразования в boolean, используйте (bool) или (boolean). Однако, в большинстве случаев приведение типа необязательно, так как значение будет автоматически преобразовано, если оператор, функция или управляющая конструкция требует boolean аргумент. При преобразовании в boolean, следующие значения рассматриваются как FALSE: ü само значение boolean FALSE ü integer 0 (ноль) ü float 0.0 (ноль) ü пустая строка, и строка " 0" ü массив без элементов ü объект без полей (только для PHP 4) ü особый тип NULL (включая неустановленные переменные) ü Объекты SimpleXML, созданные из пустых тегов Все остальные значения рассматриваются как TRUE (включая любой resource а также число -1). Целые числа Integer - это число из множества ℤ = {..., -2, -1, 0, 1, 2, ...}. Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию с предшествующим знаком (- или +). Если вы используете восьмеричную систему счисления, вы должны предварить число 0 (нулем), для использования шестнадцатеричной системы нужно поставить перед числом 0x. Пример №1 Целые <? php Размер целого зависит от платформы, хотя, как правило, максимальное значение около двух миллиардов (это 32-битное знаковое). PHP не поддерживает беззнаковые целые. Превышение размера целого Если вы определите число, превышающее пределы целого типа, оно будет интерпретировано как число с плавающей точкой. Также, если вы используете оператор, результатом работы которого будет число, превышающее пределы целого, вместо него будет возвращено число с плавающей точкой. <? php $large_number = 2147483648; // это справедливо и для шестнадцатеричных целых: $million = 1000000; В PHP не существует оператора деления целых. Результатом 1/2 будет число с плавающей точкой 0.5. Вы можете привести значение к целому, что всегда округляет его в меньшую сторону, либо использовать функцию round(). <? php
Числа с плавающей точкой Числа с плавающей точкой (они же числа двойной точности или действительные числа) могут быть определены при помощи любого из следующих синтаксисов: <? php Строки Строка - это набор символов. В PHP символ это то же самое, что и байт, это значит, что возможно ровно 256 различных символов. Это также означает, что PHP не имеет встроенной поддержки Unicode'а. Некоторую поддержку Unicode'а обеспечивают функции utf8_encode() и utf8_decode(). Замечание: Нет никаких проблем, если строка очень велика. Практически не существует ограничений на размер строк, налагаемых PHP, так что нет абсолютно никаких причин беспокоиться об их длине. Строка может быть определена тремя различными способами. ü одинарными кавычками ü двойными кавычками ü heredoc-синтаксисом Одинарные кавычки Простейший способ определить строку - это заключить ее в одинарные кавычки (символ '). Чтобы использовать одинарную кавычку внутри строки, как и во многих других языках, ее необходимо предварить символом обратной косой черты (\), т. е. экранировать ее. Если обратная косая черта должна идти перед одинарной кавычкой либо быть в конце строки, вам необходимо продублировать ее. Обратите внимание, что если вы попытаетесь экранировать любой другой символ, обратная косая черта также будет напечатана! Так что, как правило, нет необходимости экранировать саму обратную косую черту. Двойные кавычки Если строка заключена в двойные кавычки (" ), PHP распознает большее количество управляющих последовательностей для специальных символов.
Heredoc Другой способ определения строк - это использование heredoc -синтаксиса (" < < < " ). После < < < необходимо указать идентификатор, затем идет строка, а потом этот же идентификатор, закрывающий вставку. Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и все остальные метки в PHP: содержать только буквенно-цифровые символы и знак подчеркивания, и должен начинаться с нецифры или знака подчеркивания. Пример определения heredoc-строки <? php /* Более сложный пример с переменными. */ function foo() $foo = new foo(); echo < < < EOT Замечание: Поддержка heredoc была добавлена в PHP 4. Массивы Массив в PHP - это упорядоченное отображение, которое устанавливает соответствие между значением и ключем. Этот тип оптимизирован в нескольких направлениях, поэтому вы можете использовать его как собственно массив, список (вектор), хэш-таблицу (являющуюся реализацией карты), словарь, коллекцию, стэк, очередь или, возможно, как что-то еще. Поскольку вы можете иметь в качестве значения другой массив PHP, вы можете также легко эмулировать деревья. Объяснение этих структур данных выходит за рамки данного справочного руководства, но вы найдете как минимум один пример каждой из них. За дополнительной информацией вы можете обратиться к соответствующей литературе по этой обширной теме. Массив может быть создан языковой конструкцией array(). В качестве параметров она принимает определенное количество разделенных запятыми пар key => value (ключ => значение). array( key => value, ... )// key может быть integer или string// value может быть любым значением<? php echo $arr[" foo" ]; // bar key может быть либо integer, либо string. Если ключ - это стандартное представление integer, он так и будет интерпретироваться (т.е. " 8" будет восприниматься как 8, тогда как " 08" будет интерпретироваться как " 08" ). В PHP нет разницы между индексными и ассоциативными массивами; существует только один тип массива, который может содержать и числовые, и строковые индексы. Полезные функции Для работы с массивами существует достаточное количество полезных функций. Замечание: Функция unset() позволяет удалять ключи массива. Обратите внимание, что массив НЕ будет переиндексирован. Если вы использовали только " обычные числовые индексы" (увеличивающиеся на единицу, начиная с нуля), вы можете переиндексировать массив используя array_values(). <? php $b = array_values($a); Преобразование в массив Для любого из типов: integer, float, string, boolean и resource, если вы преобразуете значение в массив, вы получите массив с одним элементом (с индексом 0), являющимся скалярным значением, с которого вы начали. Если вы преобразуете в массив объект (object), вы получите в качестве элементов массива свойства (переменные-члены) этого объекта. Ключами будут имена переменных-членов. Если вы преобразуете в массив значение NULL , вы получите пустой массив. Популярное:
|
Последнее изменение этой страницы: 2016-06-05; Просмотров: 505; Нарушение авторского права страницы