Условные операторы и коды системы юКоз. Справка по условным операторам и кодам системы uCoz

Условные операторы и коды системы юКоз. Справка по условным операторам и кодам системы uCoz. Арифметические операторы, Операторы сравнения, Логические операторы, Функции

Условные операторы и коды системы юКоз

» » Сообщение:

Вычисление выражений:

Операнды:

Различаются 3 типа операндов:
строковые (задают текст), целочисленные (задают целое число от -9223372036854775808 до 9223372036854775807), дробные (задают дробное число).

Строковые операнды задаются в виде переменных шаблона ($USERNAME$) или констант в одинарных ('Константа1') или двойных кавычках ("Константа2").
При необходимости использовать выбранный символ кавычки внутри самой константы его можно экранировать с помощью обратного слеша ('It\'s all right' будет прочитана как "It's all right"). Сам обратный слеш также можно экранировать ("большой\\маленький" будет прочитана как "большой\маленький").
Перед всеми остальными символами обратный слеш не имеет экранирующего эффекта и выводится вместе с последующим символом.
Внутри строковых констант не допускается наличие закрывающей скобки выражения ?>, т.к. она будет воспринята как признак окончания выражения.

Целочисленные операнды могут быть заданы в десятичной, двоичной, восьмеричной или шестнадцатеричной системе счисления.
Десятичные константы задаются как последовательность цифр от 0 до 9 (123, 999999, 3).
255).
Восьмеричные константы начинаются с префикса "0o" (или "0O"), за которым следуют цифры от 0 до 7 (0o200 задает число 128, 0o456 задает число 302).
Шестнадцатеричные константы начинаются с префикса "0x" (или "0X"), за которым следуют цифры от 0 до 9 и латинские буквы от A до F без учета регистра (0x10A задает число 266, 0Xffff задает число 65535).

Дробные операнды задаются как последовательность цифр от 0 до 9, в которой обязательно присутствует десятичная точка (123.56) или латинская буква E, отделяющая десятичный порядок (1.234e6 задает число 1234000, 1e3 задает число 1000, 2e-4 задает число 0.0002), или значение числа выходит за допустимый диапазон для целочисленных операндов.

Все описанные ниже операторы, кроме оговоренных отдельно, автоматически преобразуют свои операнды к нужному типу (выражение <?"5" + 3?> возвратит 8). При преобразовании строкового значения в числовое используются правила из пункта 4 (т.е. результат всегда будет считаться дробным, а альтернативные системы счисления не распознаются) и дополнительно распознается знак минус (-) перед числом.

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

Целочисленные операнды преобразуются в строку без потери точности и без использования десятичных дробей (<? 1234567890123445678 ?> выведет '1234567890123445678').

Дробные операнды преобразуются в строку в формате с плавающей запятой с точностью до 15 разрядов (<? 1234567890123445678.0 ?> выведет '1.23456789012346e+17').

Выражения:

Выражения вычисляются с учетом приоритетов операций. Приоритетом можно управлять с помощью круглых скобок (выражение <?2 * (5 + 3)?> возвратит 16). При отсутствии скобок приоритет операторов определяется следующей таблицей (в порядке уменьшения приоритета):

Приоритет выражений:

Код: Выделить всё Развернуть
 **
Код: Выделить всё Развернуть
 *, /, %
Код: Выделить всё Развернуть
 +, -
Код: Выделить всё Развернуть
 =, ==, !=, <=, <, >=, >
Код: Выделить всё Развернуть
 &
Код: Выделить всё Развернуть
 |, ^
Код: Выделить всё Развернуть
 &&, and
Код: Выделить всё Развернуть
 ||, or

Выражение считается ложным, если результат его вычисления представляет собой пустую строку, строку '0' (т.е. строку с единственной цифрой 0, а строки '4', 'Hello', '00' или '0.0' считаются истинными), целочисленное значение 0 или дробное значение 0.0.
Все прочие значение считаются истинными.
---

Арифметические операторы:

Код: Выделить всё Развернуть
  +, -, *

- Бинарное арифметическое сложение, вычитание и умножение соответственно. Если оба операнда целочисленные, то результат также будет целочисленным (не должен выйти за диапазон целочисленных значений).
унарный +, унарный - Эквивалентно сложению с нулем и вычитанию из нуля соответственно, но имеет высокий приоритет.

Код: Выделить всё Развернуть
  / 

- Арифметическое деление. Результат всегда дробный.

Код: Выделить всё Развернуть
  % 

- Остаток от деления. Операнды приводятся к целым числам. Результат всегда целочисленный.

Код: Выделить всё Развернуть
  ** 

- Бинарная операция возведения в степень. Первый операнд (должен быть положительным) возводится в степень второго. Результат всегда дробный.
---

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

Код: Выделить всё Развернуть
  =, == 

- Проверка равенства. Если оба операнда строковые, то проводится сравнение строк с учетом регистра (строчные и прописные буквы различаются). Если оба операнда целочисленные, то сравниваются целые числа. В противном случае операнды сравниваются как дробные числа. Результат оператора - целое число 1, если операнды равны, и 0, если не равны.
Примеры: <?if("1.000"="1.0")?> ложно (сравниваются как строки), <?if("1.000"="1.0"+0)?> истинно (сравниваются числа).

Код: Выделить всё Развернуть
  != 

- Проверка неравенства. Аналогичен проверке равенства, но результат противоположный.

Код: Выделить всё Развернуть
  <=, <, >=, > 

- Сравнение двух чисел. Если оба операнда целочисленные, то сравниваются целые числа. В противном случае операнды сравниваются как дробные числа. Результат оператора - целое число 1, если выполняется условие оператора, и 0, если не выполняется.
---

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

Код: Выделить всё Развернуть
  !, not 

- Унарный оператор логического отрицания. Если операнд ложный, то результатом является целое число 1, иначе 0.

Код: Выделить всё Развернуть
  &&, and 

- Бинарный оператор логического "И" (умножения). Если оба операнда истинны, то результатом является целое число 1, иначе 0.

Код: Выделить всё Развернуть
  ||, or 

- Бинарный оператор логического "Или" (сложения). Если любой из операндов истинен, то результатом является целое число 1, иначе 0.
---

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

Побитовые операторы всегда приводят операнды к целому числу и возвращают целочисленный результат:

Код: Выделить всё Развернуть
  &, |, ^ 

- Бинарные операторы побитового "И" (умножения), "Или" (сложения) и "Исключающее Или" соответственно.

Код: Выделить всё Развернуть
  ~ 

- Унарный оператор побитового отрицания (инверсии).
---

Функции:

Код: Выделить всё Развернуть
int N
int(N)

- Возвращает целую часть числового параметра N, полученную округлением в сторону нуля. Результат всегда целочисленный.

Код: Выделить всё Развернуть
abs N
abs(N)

- Возвращает абсолютное значение (модуль) числового параметра N. Если операнд целочисленный, то результат также будет целочисленным. Иначе дробным.

Код: Выделить всё Развернуть
rnd( )
rnd N
rnd(N)

- Возвращает случайное число. Если параметр отсутствует или равен 0, то возвращается дробное число от 0 включительно до 1 не включительно. Если параметр целочисленный (не равный 0), то возвращается целое число от 0 до N-1 включительно при N>0, и число от N+1 до 0 включительно при N<0. Иначе параметр приводится к дробному числу и умножается на случайное дробное число от 0 включительно до 1 не включительно. Примеры: <? rnd 10 ?> вернет целое число от 0 до 9 включительно,

Код: Выделить всё Развернуть
<? rnd 10.0 ?>

вернет дробное число от 0 до 10 не включительно.

Код: Выделить всё Развернуть
min(A1,A2,...,An)
max(A1,A2,...,An)

- Возвращает соответственно минимальное или максимальное значение среди переданных числовых параметров. Результат всегда дробный.

Код: Выделить всё Развернуть
len S
len(S)

- Возвращает длину строкового параметра. Результат всегда целочисленный.

Код: Выделить всё Развернуть
strpos(S1,S2)

- Ищет первое вхождение строки S2 в строку S1, проходя от начала S1 к концу. Сравнение производится с учетом регистра. Оба параметра должны быть заданы как строки (или как результат вызова функции, возвращающей строку). Поиск ограничен первыми 1000 символами строки S1. Сравнение ограничено первыми 100 символами строки S2. Возвращает целое число - позицию строки S2 от начала S1, считая от 0. Если вхождение не найдено, возвращает -1.

Код: Выделить всё Развернуть
<?strpos('Васяся','ся')?>

возвратит 2.

Код: Выделить всё Развернуть
strrpos(S1,S2)

- Аналогична strpos, но ищет последнее вхождение S2. Поиск ограничен последними 1000 символами строки S1.

Код: Выделить всё Развернуть
<?strpos('Васяся','ся')?>

возвратит 4.

Код: Выделить всё Развернуть
substr(S,N1,N2)
substr(S,N1)

- Возвращает подстроку из строки S, начиная с позиции N1 (первый символ имеет позицию 0), длиной N2 символов. Параметр S должен быть задан как строка (или как результат вызова функции, возвращающей строку). N1 и N2 приводятся к целым значениям.
Если N2 не указан, то возвращается подстрока с позиции N1 до конца строки S.
Если N1 отрицателен, то начальная позиция отсчитывается от конца строки S.
Если N2 отрицателен, то задает конечную позицию от конца строки S.

Код: Выделить всё Развернуть
<?substr('Привет',2)?>

возвратит 'ивет',

Код: Выделить всё Развернуть
<?substr('Привет',2,2)?>

возвратит 'ив',

Код: Выделить всё Развернуть
<?substr('Привет',-2)?>

возвратит 'ет',

Код: Выделить всё Развернуть
<?substr('Привет',0,-2)?>

возвратит 'Прив'.

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



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0631Базы данных на uCoz. Использование ...
Сообщение от: Admin
0539Выражения и операторы JavaScript | ...
Сообщение от: Admin
0615JavaScript. Тернарные операторы. Ин...
Сообщение от: Admin
0484Побитовые операторы в JavaScript
Сообщение от: Admin
56657Re: Коды ошибок стиральных машин Ат...
Сообщение от: Гость