Выражения в PHPВыражения - это краеугольный камень PHP. Почти все, что вы пишите в PHP, является выражением. Выражения являются "кирпичиками", из которых состоят PHP-программы. Под выражением в PHP понимается то, что имеет значение. Основными формами выражений являются константы и переменные. Например, если вы записываете "$a = 100", вы присваиваете '100' переменной $a: $a = 100; В приведенном примере $a - это переменная, = - это оператор присваивания, а 100 - это и есть выражения. Его значение 100. Выражением может быть и переменная, если ей сопоставлено определенное значение: $x = 7; В первой строке рассмотренного примера выражением является константа 7, а во второй строке - переменная $x, т.к. ранее ей было присвоено значение 7. $y = $x также является выражением. Немного более сложными примерами выражений являются функции. Например, рассмотрим следующую функцию: function funct () Исходя из того, что вы хорошо знакомы с концепцией функций (если нет, то прочитайте раздел о пользовательских функциях), вы полагаете, что запись $x = funct() абсолютно эквивалента записи $x = 5, и вы правы. Функции - это выражения, значением которых является то, что возвращает функция. Поскольку foo() возвращает 5, значением выражения 'funct()' является 5. Как правило, функции возвращают не статическое значение, а вычисленное. PHP поддерживает три типа скалярных значений: целочисленные, с плавающей точкой и строковые значения (скалярными являются значения, которые вы не можете 'разбить' на меньшие части, в отличие, например, от массивов). PHP поддерживает также два комбинированных (не скалярных) типа: массивы и объекты. Каждый из этих типов значений может присваиваться переменной или возвращаться функцией. PHP - это язык, ориентированный на выражения и рассматривающий почти все как выражение. Вернемся к примеру, с которым мы уже имели дело: '$x = 7'. Легко заметить, что здесь присутствуют два значения - значение целочисленной константы '7' и значение переменной $x, также принимающей значение 7. Но на самом деле здесь присутствует и еще одно значение - значение самого присвоения. Само присвоение вычисляется в присвоенное значение, в данном случае - в 7. На практике это означает, что '$x = 7', независимо от того, что оно делает, является выражением со значением 7. Таким образом, запись '$y = ($x = 7)' равносильна записи '$x = 5; $y = 5;' (точка с запятой обозначает конец выражения). Поскольку операции присвоения анализируются справа налево, вы также можете написать '$y = $x = 7'.
Операторы PHPОператором называется нечто, состоящее из одного или более значений (выражений, если говорить на жаргоне программирования), которое можно вычислить как новое значение (таким образом, вся конструкция может рассматриваться как выражение). Отсюда следует, что функции или любые другие конструкции, которые возвращают значение (например, print()) являются операторами, в отличие от всех остальных языковых конструкций (например, echo()), которые ничего не возвращают. Арифметические операторыПомните школьные основы арифметики? Описанные ниже операторы работают так же.
Операция деления ("/") всегда возвращает вещественный тип, даже если оба значения были целочисленными (или строками, которые преобразуются в целые числа). Возможно также использовать скобки. Приоритет одних математических операций над другими и изменение приоритетов при использовании скобок в арифметических выражениях соответствуют обычным математическим правилам. Операторы инкремента и декрементаPHP, аналогично C, поддерживает префиксные и постфиксные операторы инкремента и декремента.
Булевые типы не подлежат инкрементированию и декрементированию.
Операторы присвоенияБазовый оператор присвоения обозначается как =. На первый взгляд может показаться, что это оператор "равно". На самом деле это не так. В действительности, оператор присвоения означает, что левый операнд получает значение правого выражения, (т.е. устанавливается результирующим значением). Результатом выполнения оператора присвоения является само присвоенное значение. Таким образом, результат выполнения $a = 3 будет равен 3. Это позволяет использовать конструкции вида:
В дополнение к базовому оператору присвоения имеются "комбинированные операторы" для всех бинарных арифметических и строковых операций, которые позволяют использовать некоторое значение в выражении, а затем установить его как результат данного выражения. Например:
Обратите внимание, что присвоение копирует оригинальную переменную в новую (присвоение по значению), таким образом все последующие изменения одной из переменных на другой никак не отражаются. Начиная с PHP 4, также поддерживается присваивание по ссылке, используя синтаксис $var = &$othervar; 'Присвоение по ссылке' означает, что обе переменные указывают на одни и те же данные и никакого копирования не происходит. Побитовые операторыДанные операторы предназначены для установки или снятия групп битов целочисленной переменной. Ведь любое число - это просто последовательность бит. Целые числа в PHP - 32-битные. Для представления одного числа используются 32 бита:
Побитовые операторы:
Операторы сравненияОператоры сравнения, как это видно из их названия, позволяют сравнивать между собой два значения. Также вам возможно будет интересно ознакомиться с разделом сравнение типов, в котором приведено большое количество соответствующих примеров. В PHP разрешается сравнивать только скалярные переменные. Массивы и объекты в PHP сравнивать нельзя. Операторы сравнения:
Логические операторыПриведем таблицу логических операторов PHP:
Операторы инкремента (++) и декремента (--) не работают с логическими переменными. Приоритеты операторов PHPОператоры с более высоким уровнем приоритета выполняются в первую очередь:
В любом случае, если вы сомневаетесь, или боитесь ошибиться, используйте скобки. Строковые операторыВ PHP есть два оператора для работы со строками. Первый - оператор конкатенации ('.'), который возвращает объединение левого и правого аргумента. Второй - оператор присвоения с конкатенацией, который присоединяет правый аргумент к левому. Приведем конкретный пример: $a = "Hello "; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Просмотров: 456 | |
Всего комментариев: 0 | |