Специфика синтаксиса
Переменные переменных
$foo = "bar";
$$foo = 'bаz";
После выполнение второго оператора у переменной $bar будет значение "baz". Значение переменной foo рассматривается как имя переменной.
Переменные-ссылки
$black = &$white
Области видимости переменной:
- Локальная область: переменные, объявленные в функции, локальны для функции. Но созданная внутри цикла - все равно функция.
- Глобальная: перед переменной поставить global
function updateCounler() { global $counter; $counler++; } $counter = 10; updateCounter(); echo $counter;
В массиве $GLOBALS хранятся глобальные переменные, доступные напрямую
function updateCounter() { $GLOBALS[counter]++; }
- Статическая переменная сохраняет значение между вызовами функции. Объявляется через static
isset() проверяет, существует ли переменная, unset() уничтожает переменную.
Операторы
Приор. | Оператор | Описание |
21 | clone, new | создание нового объекта |
20 | [ | индекс массива |
19 | ~ | побитное отрицание |
++ | инкремент | |
-- | декремент | |
(int), (bool), (float), (string), (array), (object), (unset) |
Приведение типов | |
@ | подавление ошибок | |
18 | isinstanceof | проверка типа |
17 | ! | Логическое отрицание |
16 | * / % | Умножение, деление, остаток от деления |
15 |
+ - . |
Сложение, вычитание, конкатенация строки |
14 |
<< >> |
Побитный сдвиг влево, побитный сдвиг вправо |
13 |
< <= > >= |
Меньше, меньше или равно, больше, больше или равно |
12 |
== != <> === !== |
Равно, не равно, тип и значение равны, тип и значение не равны |
11 |
& |
Побитное и |
10 |
^ |
Побитное исключающее или |
9 |
| |
Побитное или |
8 |
&& |
Логическое и |
7 |
|| |
Логическое или |
6 | ?: | Условный оператор |
5 | = += -= и т д | Присваивание |
4 | and | Логическое и |
3 | xor | Логическое исключающее или |
2 | or | Логическое или |
1 | , | разделитель списка |