Всё о переменных в PHP
Экономию времени при написании кода и его обработке, а также фиксирование разово полученного значения обеспечивается переменными, составляющими азы программирования и обязательные к изучению новичками. Их создание в PHP происходит крайне просто – не нужно самостоятельно объявлять типы данных, указывать какие-либо дополнительные параметры нежели самого значения.
Запись переменных
Чтобы создать переменную, нужно сперва определиться с её названием. Создателям языка так и не удалось внедрить поддержку UTF-32, которая позволила бы интерпретатору работать с названиями, состоящими из специальных символов и каких-либо знаков, отличающихся от латинских букв, ввиду чего кириллические наименования задействовать не получится. Перед переменными ставится знак $ (доллар). Он не отбивается пробелом.
Правилом хорошего тона считается использование имён переменных на английском языке, а не на транслите. В книгах-самоучителях, написанных экспертами PHP, никогда не встретятся строки по типу $peremennaja, $zapros, $dejstvie – вместо них будут представлены $variable (а, что лучше, ещё более уточняющее слово), $request, $action соответственно. В целях той же удобочитаемости можно задействовать сокращённые наименования: $var, $req, $act, однако тогда их значения рекомендуется обозначать в комментариях к коду.
Следом за именем – знак «равно». После вводятся данные или функция. Есть возможность привязки одной переменной к другой, однако стоит воздерживаться от злоупотребления при написании программ ввиду замедления интерпретации. Советуется использовать эту особенность PHP только при создании проверок в качестве варианта, срабатывающего при соблюдении (или в противоположном случае) заданных условий.
В конце строки ставится ; (точка с запятой), что касается не только работы с переменными – без данного знака после большинства фрагментов кода его обработка становится попросту невозможной, вызывая фатальные ошибки при попытке запуска программ. Исключения составляют конструкции switch-case, if-elseif-else, foreach и некоторые другие, после которых обычно идут фигурные скобки, обозначающие действия скрипта при соответствии конкретных правил.
Задать несколько функций одновременно либо добавить предопределённую информацию, переменные к уже указанным данным поможет символ точки.
Переменные переменных
Динамически контролировать можно не только значения переменных, но и их наименованиями. Для этого следует установить двойной знак доллара перед определением, а в момент вывода после $ поставить фигурные скобки и название. Один из сценариев использования – сбережение времени на придумывании наименований, а также избежание слишком длинных имён, которые могут ухудшить понимание скрипта при его чтении как и создателем, так и, в особенности, другими людьми, если планируется поделиться программой.
В официальной документации языка, хоть и без объяснения причин, говорится о невозможности задействовать эту особенность PHP вместе с суперглобальными массивами, такими как $_SERVER, $_GET, $_COOKIE, $_POST и прочими, рассмотренными на данной странице.
Количество переменных, служащих дополнениями к другим, не лимитировано. Главное – не забывать добавлять символ доллара и при вызове, и при определении.
Константы
Отличием констант от переменных является то, что после вывода информации о них значения не могут быть изменены во время работы программы. Исключение составляют «волшебные константы» – глобальные предопределения, внедрённые создателями PHP и на самом деле являющиеся переменными с нетипичными для себя формами написания.
Задать константы можно через define();. Присутствуют правила наименования, нарушение которых приведёт к возможности вывода значений только через функцию constant();. Часто допускаемые ошибки:
- использование цифр в начале, а не конце названий;
- написание с использованием спецзнаков.
Допускается добавлять двойное подчёркивание по краям имён, но таким же синтаксисом обладают вышеупомянутые внедрённые константы, и они могут быть зарезервированы в будущих спецификациях языка, что приведёт к проблемам с обработкой после обновления.
В PHP 8 константы стали чувствительны к регистру. Например, в новой спецификации ABC, aBC,AbC и подобные начали восприниматься в качестве разных единиц кода. Проверить правильность наименования можно через regex, имеющий следующий формат:
^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.
Примеры работы
Предмет статьи несложен в освоении, подтверждением чему служат предоставленные в материале примеры.
Простой вывод значения
<?
$word = «Слово»;
echo $word;
Есть и сокращение для echo, представленное знаком «равно» и доступное в малом числе случаев:
<?$word = «Слово»;?>
<!— Какое-либо содержимое —>
<?=$word?>
Несколько данных в одной переменной
<?
$multivariable = «А вы знали, что сейчас уже «.date(«H:i»).», а текущий день недели — «.date(«l»).»?»;
echo $multivariable;
Здесь объединены две строки и это же число функций. Результатом станет вывод надписи вида: «А вы знали, что сейчас уже 23:57, а текущий день недели — Wednesday?».
Под-переменные
<?
$citrus = «В чащах юга жил бы цитрус?»;
$$citrus = » Да, но фальшивый экземплярЪ!»;
echo»$citrus ${$citrus}»;
Выведутся оба предложения. Аналогичен принцип работы с большим числом под-переменных:
<?
$chatter = «В чащах юга жил бы цитрус?»;
$$chatter = » Да, но фальшивый экземплярЪ!»;
$$$chatter = » А ещё можно добавить больше знаков доллара, их количество не ограничивается.»;
$$$$chatter = » Иду проверять!»;
echo»$chatter ${$chatter} ${${$chatter}} ${${${$chatter}}}»;
Константы
<?
define(«CITRUS», «ЦИТРУС»);
echo CITRUS.»<br>»;
echo»Благодаря «волшебной константе» мы знаем о вашей системе и браузере следующее: «.$_SERVER[‘HTTP_USER_AGENT’];
Итог: вывод слова «ЦИТРУС» и информации о браузере пользователя, полученной с помощью User-Agent.