Skip to main content

Специфика синтаксиса

Переменные переменных

$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)

Приведение типов

$b = (int) $a;

@ подавление ошибок
18 isinstanceof проверка типа
17 ! Логическое отрицание
16 *  /  % Умножение, деление, остаток от деления
15 +  -  . Сложение, вычитание, конкатенация строки
14 << >> Побитный сдвиг влево, побитный сдвиг вправо
13 <  <= > >= Меньше, меньше или равно, больше, больше или равно
12 ==  !=  <>  ===  !== Равно, не равно, тип и значение равны, тип и значение не равны
11 & Побитное и
10 ^ Побитное исключающее или
9 | Побитное или
8 && Логическое и
7 || Логическое или
6 ?: Условный оператор
5 = += -=  и т д  Присваивание
4 and Логическое и
3 xor Логическое исключающее или
2 or Логическое или
1 , разделитель списка

Префиксный и постфиксный способ записи

$m = ++$var;//увеличит значение на 1 и вернет значение
$m = $var++;//вернет значение и увеличит значение на 1