Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
42-46.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
37.1 Кб
Скачать

42. Константы в php

Константа PHP отличается от переменной PHP тем, что, во-первых, ей нигде в программе нельзя присвоить значение больше одного раза, а во-вторых, ее имя не предваряется знаком $, как это делается для переменных.

Например:

<?php

// Предположим, определена константа M_PI, равная 3.14

$s=2*5*M_PI; // использование константы

echo "Это число PI"; // выведет "Это число PI"

echo '<BR>';

echo "Это число ".M_PI; // выведет "Это число 3.14"

?>

То, что не надо писать "доллар" перед именем константы — это, конечно хорошо. Однако, как мы можем видеть из примера, есть и минусы: мы уже не можем использовать имя константы непосредственно в текстовой строке.

Предопределенные константы PHP

Константы PHP бывают двух типов: одни — предопределенные (то есть устанавливаемые самим интерпретатором), а другие определяются программистом. Существуют несколько предопределенных констант.

__FILE__ — хранит имя файла программы, которая выполняется в данный момент.

__LINE__ —содержит текущий номер строки, которую обрабатывает в текущий момент интерпретатор. Эта своеобразная "константа" каждый раз меняется по ходу исполнения программы.

PHP_VERSION — версия интерпретатора PHP.

PHP_OS — имя операционной системы, под которой работает PHP.

TRUE или true — эта константа нам уже знакома и содержит значение "истина".

FALSE или false — содержит значение "ложь".

NULL или null — содержит значение NULL.

Определение констант PHP

Вы можете определить и свои собственные, новые константы. Делается это при помощи оператора define(), очень похожего на функцию.

void define(string $name, string $value, bool $case_sen=true);

Определяет новую константу с именем, переданным в $name, и значением $value. Если необязательный параметр $case_sen равен true, то в дальнейшем в программе регистр букв константы учитывается, в противном случае — не учитывается (по умолчанию, как мы видим, регистр учитывается). Созданная константа не может быть уничтожена или переопределена.

Например:

<?php

define("pi",3.14);

define("str","Test string");

echo pi;

echo '<br>';

echo str;

?>

Обратите внимание на кавычки, которыми должно быть обрамлено имя константы при ее определении. А также на то, что нельзя дважды определять константу с одним и тем же именем — это породит ошибку во время выполнения программы.

Проверка существования константы PHP

В PHP существует также функция, которая проверяет, существует ли (была ли определена ранее) константа с указанным именем. Вот она.

bool defined(string $name)

Возвращает true, если константа с именем $name была ранее определена.

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

43. Операторы в php

Оператор представляет собой символическое обозначение некоторого действия, выполняемого с операндами в выражении. Многие операторы известны любому программисту, но вы должны помнить, что РНР выполняет автоматическое преобразование типов на основании типа оператора, объединяющего два операнда.

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

Таблица 3.1. Операторы РНР

Оператор

Ассоциативность

Цель

( )

-

Изменение приоритета

new

-

Создание экземпляров объектов

! ~

П

Логическое отрицание, поразрядное отрицание

++ --

П

Инкремент, декремент

@

П

Маскировка ошибок

/ * %

Л

Деление, умножение, остаток

+ - .

Л

Сложение, вычитание, конкатенация

<<  >>

Л

Сдвиг влево, сдвиг вправо (поразрядный)

< <=  >  >=

-

Меньше, меньше или равно, больше, больше или равно

== !=  ===  <>

-

Равно, не равно, идентично, не равно

&  ^  |

Л

Поразрядные операции AND, XOR и OR

&& ||

Л

Логические операции AND и OR

?:

П

Тернарный оператор

=  +=  *=  /=  .=

П

Операторы присваивания

%=  &=  |=  ^=

 

 

<<=  >>=

 

 

AND XOR OR

Л

Логические операции AND, XOR и OR

Приоритет операторов

Приоритет является характеристикой операторов, определяющей порядок выполнения действий с окружающими операндами. В РНР используются те же правила приоритета, что и в школьном курсе математики. Пример:

$total_cost = $cost + $cost * 0.06;

Приведенная команда эквивалентна следующей:

$total cost = $cost + ($cost * 0.06);

Это объясняется тем, что оператор умножения обладает более высоким приоритетом по сравнению с оператором сложения.

Ассоциативность операторов

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

Математические операторы

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

Операторы присваивания

Операторы присваивания задают новое значение переменной. В простейшем варианте оператор присваивания ограничивается изменением величины, в других вариантах (называемых сокращенными операторами присваивания) перед присваиванием выполняется некоторая операция. Умеренное использование операторов присваивания обеспечивает более наглядный и компактный код.

Строковые операторы

Строковые операторы РНР обеспечивают удобные средства конкатенации (то есть слияния) строк. Существует два строковых оператора: оператор конкатенации (.) и оператор конкатенации с присваиванием (.=), описанный в предыдущем разделе «Операторы присваивания».

Конкатенацией называется объединение двух и более объектов в единое целое.

Операторы инкремента и декремента

Удобные вспомогательные операторы инкремента (++) и декремента (--), приведенные в табл. 3.5, делают программу более наглядной и обеспечивают укороченную запись для увеличения или уменьшения текущего значения переменной на 1. Эти операторы могут располагаться как слева, так и справа от операнда. Действия, выполняемые оператором, зависят от того, с какой стороны от операнда он находится.

Логические операторы

Логические операторы наряду с математическими операторами играют важную роль в любом приложении РНР, обеспечивая средства для принятия решений в зависимости от значения переменных. Логические операторы позволяют управлять порядком выполнения команд в программе и часто используются в управляющих конструкциях (таких, как условная команда if, а также циклы for и while). Логические операторы часто используются для проверки результата вызова функций.

Операторы равенства

Операторы равенства предназначены для сравнения двух величин и проверки их эквивалентности.

Операторы сравнения

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

Поразрядные операторы

Поразрядные операторы выполняют операции с целыми числами на уровне отдельных битов, составляющих число. Чтобы лучше понять принцип их работы, необходимо иметь хотя бы общее представление о двоичном представлении десятичных чисел.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]