Переменные в PHP


Оглавление (нажмите, чтобы открыть):

Переменные в PHP

Наверняка у вас дома есть шкаф или комод. Принцип их использования простой: мы убираем туда вещи, которые не нужны нам прямо сейчас, но могут понадобиться через некоторое время.

Переменные устроены точно также. В них можно положить какое-нибудь значение и хранить там, пока оно не понадобится.

Создание переменных

Положить значение в переменную можно следующим образом:

В коде выше мы создали переменную $name и положили в неё значение Иван , затем создали переменную $age и присвоили ей значение 20 .

Название «переменная» означает, что её значение может меняться во время выполнения скрипта:

В некоторых языках переменную нужно сначала «объявить», а затем уже использовать. В PHP объявления нет — переменная создаётся в тот момент, когда вы кладёте в неё значение.
Тем не менее, PHP-программисты часто говорят «объявить переменную» вместо «создать переменную».

Также вместо «положить в переменную значение» часто говорят «присвоить значение».
Причина проста — символ = , благодаря которому мы сохраняем значение в переменную, называется «оператор присваивания». Отсюда и термин «присвоить».

Правила именования переменных

1. Название переменной начинается с символа $.

2. Вторым символом может быть буква или символ подчёркивания _

3. Дальше могут идти буквы, символы подчёркивания _ и цифры.

Названия переменных регистрозависимы. $name и $Name — это разные переменные.

Вывод значения переменной на экран

Вывести переменную можно с помощью уже известной нам команды echo :

Команда echo позволяет вывести на экран сразу несколько значений:

Заметьте, мы передали в echo 2 значения, разделив их запятой. Так мы можем передавать сколько угодно значений. Следующие два примера приведут к одинаковому результату:

Также в PHP существует сокращённый синтаксис вывода переменных. Вместо можно написать :

До версии PHP 5.4 сокращённый синтаксис работал только при включении в настройках PHP директивы short_open_tag , которая также позволяет использовать сокращённый открывающий тег наравне с . Начиная с PHP 5.4 сокращённый синтаксис работает всегда, независимо от директивы short_open_tag .

Проверка значения переменной

Команда echo не всегда удобна для проверки текущего значения переменной. К примеру, при попытке вывода пустой строки » на экран не выведется абсолютно ничего. И непонятно, в чём причина — в пустой переменной или неработающем коде.

Поэтому для проверки значения переменной используется функция var_dump() :

Результат выполнения скрипта:

Как видите, PHP вывел не только содержимое переменной, но ещё и количество символов, и даже тип переменной (string — строка). Типы данных мы подробно рассмотрим на следующих уроках.

Удаление переменных

Удалить существующую переменную можно с помощью функции unset() :

А теперь пришло время немного попрактиковаться.

Запомните, практически любая задача на PHP может иметь несколько решений. Поэтому если ваши решения будут отличаться от написанных на этом сайте — это совсем не значит, что вы что-то сделали неправильно.


Напишите скрипт, который:
1. Создаёт переменные с названиями title и content и какими-нибудь значениями.
2. Выводит значение переменной title внутри тега h1, а значение переменной content внутри тега div.

Хочу ещё раз обратить ваше внимание, что это решение не является единственно верным. К примеру, следующий код приведёт к такому же результату:

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

Иногда бывает удобно иметь переменными имена переменных. То есть, имя переменной, которое может быть определено и изменено динамически. Обычная переменная определяется примерно таким выражением:

Переменная переменной берет значение переменной и рассматривает его как имя переменной. В вышеприведенном примере hello может быть использовано как имя переменной при помощи двух знаков доллара. То есть:

Теперь в дереве символов PHP определены и содержатся две переменные: $a , содержащая «hello», и $hello , содержащая «world». Таким образом, выражение

выведет то же, что и

то есть, они оба выведут: hello world .

Для того чтобы использовать переменные переменных с массивами, вы должны решить проблему двусмысленности. То есть, если вы напишете $$a[1] , обработчику необходимо знать, хотите ли вы использовать $a[1] в качестве переменной, либо вам нужна как переменная $$a , а затем ее индекс [1]. Синтаксис для разрешения этой двусмысленности таков: $ <$a[1]>для первого случая и $<$a>[1] для второго.

К свойствам класса также можно получить доступ динамически. Переменное имя свойства будет разрешено в том контексте, в котором произойдет вызов к нему. Например, в случае выражения $foo->$bar , локальная область видимости будет просканирована на наличие переменной $bar , значение которой будет использовано в качестве имени свойства объекта $foo . Это также работает и в том случае, если $bar осуществляет доступ к элементу массива.

Фигурные скобки могут также использоваться, чтобы четко разграничить имя свойства. Они наиболее полезны при получении доступа к значениям внутри свойства, которое содержит массив, когда имя свойства состоит из нескольких частей, либо когда имя свойства содержит символы, которые иначе не действительны (например, из функции json_decode() или из SimpleXML).

Пример #1 Пример переменного имени свойства

class foo <
var $bar = ‘I am bar.’ ;
var $arr = array( ‘I am A.’ , ‘I am B.’ , ‘I am C.’ );
var $r = ‘I am r.’ ;
>

$foo = new foo ();
$bar = ‘bar’ ;
$baz = array( ‘foo’ , ‘bar’ , ‘baz’ , ‘quux’ );
echo $foo -> $bar . «\n» ;
echo $foo -> $baz [ 1 ] . «\n» ;

$arr = ‘arr’ ;
echo $foo -> $arr [ 1 ] . «\n» ;
echo $foo ->< $arr >[ 1 ] . «\n» ;

Результат выполнения данного примера:

Пожалуйста, обратите внимание, что переменные переменных не могут использоваться с Суперглобальными массивами PHP. Переменная $this также является особой, на нее нельзя ссылаться динамически.

Переменные в PHP

Как и во всех языках программирования, в PHP есть переменные. В этой статье мы рассмотрим какие бывают переменные, приведем примеры использования переменных в PHP.

Все переменные в PHP начинаются со знака доллар «$». Далее после этого знака может находиться любая последовательность состоящая из буквенно-цифровых символов (включая знак подчеркивания), но первый символ не может быть цифрой.

Примеры корректных переменных в PHP: $per, $p1e2r3e, $user_10, $_user_10, $prosto_dlinnaya_peremennaya и т.д.

Стоит отметить, что PHP чувствителен к регистру, а значит переменные $pEr, $per, $PER — будут разные. Например:

На экране будет выведено: 1, 2, 3.

В PHP не надо указывать явно тип данных у переменных. Одна и та же переменная может иметь разные типы данных в одной программе. Приведу пример.

Чтобы вывести текст $text (название самой переменной) нужно поставить перед ней обратный слэш «\»:

Существует специальная функция unset(имя_переменной) , которая позволяет уничтожать объявленные переменные. В основном это делается для освобождения памяти. Например:

С помощью функции isset(имя_переменной) можно проверять существование переменных. Функция возвращает true (истина) в случае существования и false (ложь) в противном случае. Очень похожей функцией является empty(имя_переменной) , которая возвращает true в случае если переменная не существует, равна нулю или пустой строке и false в противном случае.

Константы в PHP


Константы в PHP в отличии от переменных очень похожи на константы в других языках, поскольку они не могут менять своё значение. Для объявление константы в PHP есть специальная функция define(«ИМЯ_КОНСТАНТЫ», значение_константы) . Приведем пример:

Требования к именованию констант аналогичны требованиям именованию переменных. По этой причине в рассмотренном примере выше, последнее объявление константы «1CON» является некорректным.

В PHP принято именовать константы с больших букв (это является рекомендацией, а не требованием). Советую также придерживаться этой рекомендации, чтобы Вас лучше понимали другие php-программисты, да и Вам самим будет легче разбираться в своем коде соблюдая какие-то определенные правила.

Мастер Йода рекомендует:  Реализуйте алгоритм для однонаправленного списка с петлёй, возвращающий начальный узел петли

Для проверки существования константы существует специальная функция defined(ИМЯ_КОНСТАНТЫ) , которая выдает true (истина) в случае существования константы и false (ложь) в другом случае. Приведем пример использования функции defined:

В PHP есть так же предопределенные константы, которые Вы можете видеть в таблице:

Константа Описание
__LINE__ Текущая строка в файле
__FILE__ Полный путь и имя текущего файла
__FUNCTION__ Имя функции
__CLASS__ Имя класса
__METHOD__ Имя метода класса
NULL Пустая константа (не путайте с нулем)

Пример применения выше описанных предопределенных констант приведен ниже:

Внешние переменные в PHP

Выше мы рассмотрели переменные, которые объявляются внутри программы. Однако, создавая приложения для интернета, практически всегда необходимо работать с внешними данными полученными из вне.

Протокол HTTP позволяет передавать и считывать данные с помощью методов GET и POST . Выбор метода можно задать в html-формах (см. тег form).

Эти методы (GET и POST) являются очень важными, поэтому для описание этих методов был посвящен целый урок 3: использование методов GET и POST.

PHP 5 Переменные

Переменные являются «контейнерами» для хранения информации.

Создание (объявление) переменных PHP

В PHP переменная начинается с знака $, за которым следует имя переменной:

Пример

После выполнения вышеприведенных инструкций переменная $txt будет удерживать значение Hello World!, переменная $x будет удерживать значение 5, а переменная $y будет удерживать значение 10,5.

Примечание: При назначении переменной текстового значения поместите кавычки вокруг значения.

Примечание: В отличие от других языков программирования, PHP не имеет команды для объявления переменной. Он создается в момент, когда вы сначала присваиваете ему значение.

Представьте переменные как контейнеры для хранения данных.

Переменные PHP

Переменная может иметь короткое имя (например, x и y) или более описательное имя (Age, карнаме, тотал_волуме).

Правила для переменных PHP:

  • Переменная начинается с знака $, за которым следует имя переменной
  • Имя переменной должно начинаться с буквы или символа подчеркивания
  • Имя переменной не может начинаться с числа
  • Имя переменной может содержать только буквенно-цифровые символы и знаки подчеркивания (a-z, 0-9 и _)
  • Имена переменных чувствительны к регистру ($Age и $Age являются двумя различными переменными)

Помните, что имена переменных PHP чувствительны к регистру!

Выходные переменные

Инструкция PHP echo часто используется для вывода данных на экран.

В следующем примере будет показано, как вывести текст и переменную:


Пример

В следующем примере будет производиться тот же вывод, что и в примере выше:

Пример

В следующем примере будет выведена сумма двух переменных:

Пример

Примечание: Вы узнаете больше о echo инструкции и о том, как вывести данные на экран в следующей главе.

PHP является слабо типизированным языком

В приведенном выше примере обратите внимание, что нам не нужно было говорить PHP, какой тип данных является переменной.

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

В других языках, таких как C, C++ и Java, программист должен объявить имя и тип переменной перед ее использованием.

Область переменных PHP

В PHP переменные могут быть объявлены в любом месте скрипта.

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

PHP имеет три различные переменные области:

Глобальная и локальная область

Переменная, объявленная вне функции, имеет глобальную область видимости и может быть доступна только за пределами функции:

Пример

Переменная, объявленная внутри функции, имеет локальную область видимости и доступна только в этой функции:

Пример

Можно иметь локальные переменные с одинаковыми именами в различных функциях, поскольку локальные переменные распознаются только функцией, в которой они объявлены.

PHP глобальное ключевое слово

global ключевое слово используется для доступа к глобальной переменной внутри функции.

Для этого используйте global ключевое слово перед переменными (внутри функции):

Пример

PHP также хранит все глобальные переменные в массиве, называемом $Globals [index]. индекс содержит имя переменной. Этот массив также доступен внутри функций и может использоваться для непосредственного обновления глобальных переменных.

Приведенный выше пример можно переписать так:

Пример

PHP статическое ключевое слово


Обычно, когда функция завершается/выполняется, все ее переменные удаляются. Однако иногда мы хотим, чтобы локальная переменная не была удалена. Мы нуждаемся в ней для дальнейшей работы.

Для этого используйте static ключевое слово при первом объявлении переменной:

Пример

Затем каждый раз, когда вызывается функция, эта переменная по-прежнему будет иметь информацию, содержащуюся в момент последнего вызова функции.

Примечание: Переменная по-прежнему является локальной для функции.

PHP/Переменные в PHP

Содержание

Как и любой язык программирования, PHP допускает работу с переменными. Имена всех переменных в PHP начинаются со знака доллара ($).

Создание переменных Править

Для создания PHP-переменной необходимо просто использовать её в любом месте кода. Интерпретатор сам заботится о создании переменной. Её тип является динамическим (об этом в следующем разделе) Рассмотрим создание переменной с именем $value и приравнивание её к двум. Как и после любой инструкции, после объявления переменной необходимо ставить точку с запятой:

Возможно также прямое создание без использования:

Предостережения Править

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

Как следует из названия переменных, их значение может меняться. Мы можем как напрямую менять их значение на какое-то конкретное число (например заставить $value быть равным 5) или приравнять к какой другой переменной.
Или сложить две переменные, а результат записать в третью.
В приведённом ниже коде в переменную $c записывается сумма переменных $a и $b.

Как видите, в первой строке переменной $a присваивается значение 3.
Во второй строке в переменную $b записывается значение 4.
В третьей строке в переменную $c записывается сумма переменных $a и $b. В результате там окажется число 7 (3+4=7). В первый раз это может быть непонятно, так как после школьного курса математики запись c=a+b наводит нас на мысль об уравнении. На самом деле это не так. В программировании математический знак равенства (=) называется оператором присваивания (оператор — это символ, который оперирует с какими-то значениями, то есть что-то с ними делает). Оператор присваивания вычисляет значение выражения, которое написано справа от него (в нашем случае это $a+$b) и записывает результат в переменную, указанную слева. При этом важно помнить, что справа может быть написано выражение любой сложности, с любым количеством знаков, скобок и прочего, но слева всегда должна находится одна переменная, так как интерпретатор может записать получившееся значение только в одно место. Ниже приведён пример более сложного выражения:

В первых двух строках мы записываем в переменные $a и $b их значения — соответственно, 4 и 5. Далее переменной $c присваивается результат выражения $a*$b+2*$b. В нашем случае это 4*5+2*5=20+10=30 (как видите, в выражениях можно использовать не только переменные, но и обычные числа). После этого переменной $d мы присваиваем значение выражения ($c-$a)*$b — в нашем случае — (30-4)*5=26*5=130. В результате, в переменной $d мы получаем значение 130.

До сих пор мы только вычисляли переменные, но никак не могли вывести их в передаваемый браузеру HTML-код. Сейчас мы научимся это делать.
Для вывода переменных используется уже знакомая нам команда echo, но при этом имя переменной в кавычки не берётся.

Если вы всё правильно записали в приведённом выше коде, то, открыв страницу с расширением *.php (не забывайте, интерпретатор будет работать только с такими файлами), где он записан, в браузере, вы увидите на экране число 7.

Вывод переменных вместе с текстом Править

Располагая нашими текущими знаниями (если вы, конечно, не были знакомы с PHP до прочтения учебника), мы можем выполнить эту задачу только одним способом:

Такой код, хотя и выведет на экран желаемую фразу, весьма громоздкий и сложный для прочтения. Поэтому лучше вывести всё это в одной строке кода. Для того, чтобы сделать это, нужно после окончания текста, помещённого в кавычки, поставить запятую, после которой указать имя выводимой переменной. После этого можно поставить ещё одну запятую, после которой идёт текст, опять в кавычках, и так далее — в окончании всей конструкции, как и раньше ставится точка с запятой.

Мастер Йода рекомендует:  Создание эффекта ретро-текста

Приведённый выше код гораздо более компактен и приятен для прочтения, хотя результат работы будет идентичен с предыдущим. Если нет желания разделять запятыми переменные и текст и ставить много дополнительных кавычек, можно этого и не делать. Не случайно имена всех переменных в PHP начинаются со знака доллара ($). Если указать в тексте имя переменной, интерпретатор сам поймёт что это не просто текст (главное не забыть поставить после имени пробел, чтобы интерпретатор мог вовремя остановиться при прочтении имени переменной).

До этого мы оперировали с переменными, которые имеют числовые значения. Действительно, как мы знаем, компьютер мыслит числами — их мы и складывали. Однако PHP — язык достаточно свободный и в нём можно легко оперировать и строками — присваивать переменной значение строки, складывать строки, выводить их на экран.
Для сложения строк (под сложением подразумевается «склеивание» двух строк в одну) в PHP используется точка (.), которая ставится между именами двух переменных как плюс между двумя слагаемыми. Кроме имён переменных в сложении строк можно также использовать обычный текст, заключённый в кавычки

Здесь слово «привет» с запятой сохранено в переменной $hello, обращение в переменной $name, а пробел появляется при сложении как отдельная строка (один символ — тоже строка). Всё это складывается с помощью точки и записывается в переменную $text, после чего выводится на экран.

PHP5 Переменные

Переменные являются контейнерами для хранения информации.

PHP Создание переменных

В PHP, переменная начинается со знака $ , за которым следует имя переменной:

Пример


После исполнения заявления выше, переменная $txt , которая будет содержать значение «Привет Мир!»; , переменная $x , будет содержать значение 5 , а переменная $y , будет содержать значение 10.5 .

Примечание: когда Вы присваиваете текстовое значение к переменной, ставте кавычки вокруг значения.

Примечание: в отличие от других языков программирования, PHP не имеет команды для объявления переменной. Она создается в момент, когда Вы присваиваете значение.

Помните, что переменные нужны в качестве контейнеров для хранения данных.

PHP Переменные

Переменная может иметь короткое имя (например: x и y ) или более описательное имя ( age , carname , total_volume ).

Правила для PHP переменных:

  • Переменная начинается со знака $ , за которым следует имя переменной
  • Имя переменной должно начинаться с буквы или символа подчеркивания
  • Имя переменной не может начинаться с цифры
  • Имя переменной может содержать только буквенно-цифровые символы и знак подчеркивания A-z , 0-9 , и _
  • Имена переменных чувствительны к регистру $age и $AGE , две разные переменные

Помните, что имена переменных в PHP чувствительны к регистру!

PHP Вывод переменных

PHP заявление echo — чаще всего используется для вывода данных на экран.

Следующий пример показывает, как вывести текст и переменную:

Пример

Следующий пример точно имеет, такой же результат, что и предыдущий пример:

Пример

Следующий пример будет выводить сумму двух переменных:

Пример

Примечание: Вы узнаете больше в следующей главе о заявлении echo и как вывести данные на экран.

PHP Свободно типизированный язык

В приведенном выше примере обратите внимание, мы можем не объявлять имя PHP, так как, тип данных являются переменными.

PHP автоматически преобразует переменную к нужному типу данных, в зависимости от его переменной.

В других языках, таких как C, C++ и Java, программист должен объявить имя и тип переменной перед ее использованием.

PHP Область переменных

В PHP, переменные могут объявляться в любой точке сценария.

Область действия переменной — часть скрипта, где переменная может использоваться б/у.

PHP имеет три различных области:

PHP Глобальная и локальная область


Переменная, объявленная внешней функцией имеет GLOBAL SCOPE (глобальную область) и может только быть доступна вне функции:

Пример

Переменная, объявленная внутри функции, имеет локальную область и можете только быть доступны в этой функции:

Пример

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

PHP Ключевое слово global

Ключевое слово global используется для доступа к глобальной переменной из функции.

Для этого используется ключевое слово global перед переменными (внутри функции):

Пример

PHP также хранит все глобальные переменные в массиве $GLOBALS [index]. index содержит имя переменной. Этот массив также доступен из функций и может использоваться для обновления глобальных переменных напрямую.

Пример ниже может быть переписан следующим образом:

Пример

PHP Ключевое слово static

Обычно, когда функция завершена/выполнена, все его переменные будут удалены. Однако, иногда мы хотим, чтобы локальная переменная не была удалена. Она потребуется нам для дальнейшей работы.

Для этого используйте ключевое слово static при объявлении переменной:

Пример

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

Примечание: переменные по-прежнему локальны для функции.

Переменные в PHP.

Как и в любом языке программирования, в языке PHP есть переменные. Давайте рассмотрим, как мы их можем создавать.

Для того, чтобы создать переменную в языке PHP, в первую очередь, нужно поставить знак $. Далее нужно придумать имя для переменной. Имя нужно указывать латинскими буквами. Далее ставиться знак равно и указывается значение, которое будет принимать переменная.

В языке PHP не обязательно указывать тот тип данных, которые будут храниться в этой переменной.

Вот код, для примера:

Если число будет указано без кавычек, то в переменной будет храниться, число, а не строка.

Добавив кавычки к значению переменной, мы делаем значение типом «строка». Как будто там храниться текст, а не число.

Кавычки могут быть как одинарными, так и двойными.

В переменной var3 будет храниться число с плавающей точкой.

Переменная var4 хранить в себе значение логического типа (истина или ложь).


Пока мы создали 4 переменные и этого пока достаточно.

Таким образом создаются переменные в PHP.

Если сейчас выполнить этот скрипт, где мы объявили переменные, то в результате ничего выведено не будет. Создание переменных никаким образом на саму программу не оказывает. Эти переменные просто хранятся во внутренней памяти программы.

Вот таким образом создаются переменные в PHP.

Динамические переменные в PHP

Как вы уже знаете, имя переменной сос тоит из знака $ и строки символов после него. Но, наверное, для вас будет новостью то, что имя переменной можно сохранить в другой переменной. Таким образом, выражение присваивания

эквивалентно следующей записи

В переменной $holder записана строка «user», поэтому можно представить себе, что выражение $$holder – это знак $ , за которым следует значение переменной $holder. PHP интерпритирует это как $user .

Для обращения к динамической переменной используется тот же самый синтаксис:

Это эквивалентно следующему:

Однако, для того чтобы вывести имя переменной, нужно обратиться к ней по другому. Например, следующий фрагмент не выводит в окно браузера строку bob, как можно было бы предположить.

Обратите внимание, в последней строке print «$$holder»; выражение $$holder взято в двойные кавычки, в надежде вывести в окно строку ‘bob’.

Вместо этого выводится знак $ , а за ним строка user. Когда вы обрамляете переменную двойными кавычками, PHP подставляет вместо неё соответствующее значение. В данном случае PHP подставляет вместо переменной $holder её значение user. Для того, чтобы указать PHP, что часть строки – это динамическая переменная, вам нужно взять её в фигурные скобки. Следующий код выводит строку bob, то есть значение переменной $user .

Теперь можно догадаться что имена переменных можно записывать так:

В листинге ниже всё, сказанное раньше, объединено в программу, в которой с помощью строки, хранящейся в переменной, создаётся и инициализируется новая переменная $user .

Почему это называется «динамические переменные»

Возникает вопрос, почему этот тип переменных называется динамическими. Вердёмся к примеру

Тут $$var – динамическая переменная, так как её имя может меняться вместе с изменением переменной $var .

Следует помнить, что меняя имя динамической переменной мы теряем её значение.

Если по ходу выполнения программы поменять значение переменной $var и присвоить новое значение $$var , то создастся новая переменная, а предыдущая переменная останется со старым значением.

То есть мы получаем механизм для создания «на лету» переменных с разными именами в нужных нам количествах.

Переменные переменные в PHP

Переменные переменные – это синоним, то есть другое название для динамических переменных в PHP. В англоязычном руководстве по PHP эти переменные названы «Variable variables», таким образом термин «переменные переменные» являются лингвистической калькой с английского языка.

Мастер Йода рекомендует:  Функции веб-программиста

Более сложные варианты использования динамических переменных в PHP

Возможны и более сложные варианты использования выражения: $ <'строковое_выражение'>. Имя динамической переменной может быть результатом вычисления выражения.

Следующие переменные означают одну и ту же переменную с именем var:

Переменный с целыми числами (integer) в именах, например $ <33>, работают одинаково быстро наряду c обычными переменными, как $var . Но переменные, созданные с помощью строки, то есть $ <'var'>, и динамические переменные $$var используют больше ресурсов, об этом стоит помнить при написании программ.

Далее следует изучить ссылки на переменные в PHP.

PHP — типы переменных


Дата публикации: 2020-10-23

От автора: основной способ хранения информации в программе PHP — это использование переменной. Ниже приводятся основные сведения о том, как работают в PHP переменные.

Все переменные в PHP обозначаются символом доллара ($) в начале имени переменной.

Значение переменной — это значение, присвоенное ей последним.

Значение переменным присваиваются с помощью оператора =, слева от оператора = указывается имя переменной, а справа присваиваемое значение.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Переменные могут объявляться (но не обязательно) перед присвоением им значения.

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

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

PHP эффективно преобразует типы из одного в другой, когда это необходимо.

Переменные PHP похожи на переменные Perl.

PHP поддерживает восемь типов данных, которые используются для переменных —

Целые числа — это целые числа без дробной части, например, 4195.

Дробные числа — это числа с плавающей запятой, такие как 3.14159 или 49.1.

Логические выражения — имеют только два возможных значения: true или false.

NULL — это особый тип, который имеет только одно значение — NULL.

Строки — это последовательности символов, например, «PHP поддерживает строковые операции».

Массивы — это именованные и проиндексированные наборы других значений.

Объекты — это экземпляры классов, определяемые программистом, которые могут содержать другие типы значений и функции, характерные для этого класса.

Ресурсы — это специальные переменные, которые содержат ссылки на внешние по отношению к PHP ресурсы (такие как соединения с базой данных).

Первые пять являются простыми типами, а следующие два (массивы и объекты) являются составными — составные типы могут содержать другие произвольные значения произвольного типа, тогда как простые типы — нет. Мы рассмотрим в этой статье только простые типы переменных. Массивы и объекты будут пояснены отдельно.

Целые числа

Они представляют собой целые числа без дробной части, например, 4195. Это простейший тип. Он соответствует простым целым числам, как положительным, так и отрицательным. Целые числа могут быть назначены переменным, а также их можно использовать в выражениях, например:

PHP: Переменные и константы

Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

Переменная — это некая сущность, содержащая данные. Если тип данных это общее описание формата хранимых данных и способов работы с ними, то переменная представляет собой конкретный блок памяти компьютера. В этом блоке хранится значение переменной, а обратиться к блоку (и к значению) можно по имени переменной.

В PHP имя переменной всегда начинается со знака доллара ($), за которым обязательно должна следовать буква, после которой можно использовать буквы, цифры и знак подчёркивания. Имена чувствительны к регистру символов, т.е. переменные $value, $Value, $VALUE и $VaLuE — четыре РАЗНЫХ переменных, хотя их имя и читается одинаково.


Примеры синтаксически правильных имён переменных:

Пример некорректных имён:

Есть одно общее правило (для всех языков программирования), касающееся именования переменных. Правило очень простое: имена всегда должны быть осмысленными.

Пример плохо читаемого кода

Краткость, конечно, сетстра таланта, но жертвовать простотой восприятия кода ради его компактности — неразумно. Тем более, что длина имени никак не влияет на производительнось скрипта. Но не стоит и впадать в противоположную крайность — давать переменным слишком длинные имена. Если имя должно состоять из двух и более слов — части имени нужно выделять заглавными буквами или разделять подчёркиваниями. Например, имя $strusernameadndomain намного лучше воспринимается в виде $str_UserNameAndDomain.

Пример хорошо читаемого кода

Переменные бывают двух видов: обычные переменные (переменные-значения) и ссылочные переменные. Ключевое отличие между ними заключено в способе обработки данных. При присвоении значения обычной переменной присваиваемое значение полностью копируется, т.е. создаётся новый блок памяти, куда помещается копия исходного значения. При дальнейшей работе все изменения будут отражаться на этой копии, а не на исходных данных.

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

Передача переменных по значению

Передача переменных по ссылке

Стоит отметить, что по ссылке можно передавать только переменные, т.е. следующий код приведёт к ошибке:

Для работы с переменными есть в PHP особые функции:

  • isset() — проверяет, была ли объявлена переменная и отличается ли её значение от NULL;
  • empty() — аналог isset()
  • unset() — встроенная функция языка, удаляющая значение переменной и удаляющая саму переменную из списка доступных переменных (уничтожающая переменную).

Область видимости переменных

Очень важная характеристика переменной — её область видимости (область действия), т.е. описание того, из каких мест программы (скрипта) можно прочитать или изменить её значение. Следует всегда помнить, что переменная, объявленная внутри блока программы, видна только в пределах этого блока, а для того, чтобы обратиться к переменной, объявленной снаружи блока, необходимо её особым образом объявить.

Блоками программы в данном случае являются «скрипт», «функция» или «класс». Например:

Вроде бы всё правильно, но — не работает. Почему? Потому что если явно не сказать, что переменная $name внутри функции — это в действительности глобальная переменная $name, то интерпретатор создать временную копию переменной с именем $name и пустым значением. А так как значение пустое (неопределённое), то и результат сложения строк будет неопределён (пуст).

Исправить положение очень легко, достаточно добавить всего одну строку (выделена жирным шрифтом):

В данном примере переменная $name имеет область видимости, равную всему скрипту, а переменная $fullName, объявленная внутри функции, имеет область определения равную этой самой функции. Это значит, при выходе их функции переменная $fullName будет уничтожена, а все попытки прочитать её значение приведут к ошибке.

Примеры работы с классами мы рассмотрим в разделе «Классы и наследование».

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

Да-да, здесь нет ошибки, именно так (двумя словами) называются некоторые переменные в PHP. Смысл в том, что текстовая часть имени переменной (т.е. имя без знака доллара) может сама быть именем. Например:

Настоятельно не рекомендуется пользоваться подобными приёмами без острой необходимости. Код, напичканый такими трюками, очень сложно сопровождать. Особенно это важно при работе с данными, вводимыми пользователями. Главная причина сложностей — неявные зависимости. Например, что случится, если вместо имени ‘Вася’ написать что-то вроде «»»»_;%//^q'»? Правильно! Скрипт в большинстве случаев не сможет выполниться! Можно, конечно, добавить кучу проверок на наличие «неправильных» символов, но проще вообще не пользоваться такими трюками.

Константы

Константа — это некая неизменная величина. Константа объявляется одновременно с именем и значением. Для объявления константы служит функция define(), а для определения наличия константы (т.е. была она определена или нет) — функция defined(). Имя константы строится по тем же правилам, что и имена переменных.

Отдельный вид констант PHP — так называемые «магические константы». Это системные константы, значение которых определяет и устанавливает интерпретатор. Таких констант немного:

  • __LINE__ Содержит номер текущей строки в текущем файле.
  • __FILE__ Содержит полное имя текущего файла
  • __FUNCTION__ Содержит имя текущей функции.
  • __CLASS__ Содержит имя текущего класса.
  • __METHOD__ Содержит имя текущего метода текущего класса.

Эти константы очень удобны при отладке, но во всех других случаях их лучше не использовать, заменяя на вызовы соответствующих функций.

Добавить комментарий