2.3. Переменные
Несмотря на то что темы переменных мы уже касались в предыдущих главах, до сих пор нет полной ясности, что они из себя представляют. Переменные в PHP позволяют хранить данные в той части компьютера, которая обычно называется ОЗУ. Но ОЗУ является непостоянным местом хранения информации, т.е. вся хранимая информация исчезнет в тот момент, когда будет выключен компьютер. Компьютер рассматривает свою память как большой массив ячеек памяти, имеющих последовательные адреса. Однако в PHP работать с памятью на этом уровне нельзя, поэтому необходимо пользоваться переменными. При присвоении значения определенной переменной с помощью оператора $result = 2 + 5 или при выборке значения переменной с помощью оператора print($result) PHP берет на себя заботы о том, чтобы связать заданную программистом переменную с определенным местом в ОЗУ.
Любая переменная в PHP начинается с символа доллара ($) и последующих букв, цифр или символов подчеркивания. Следующий за символом $ символ должен быть цифрой или символом подчеркивания. В табл. 2.3 представлены примеры правильного и неправильного задания имени переменной.
Применение символа доллара в именах переменных является довольно старой традицией в языках программирования. Это справедливо и для популярного языка Basic, созданного в 1960-х годах, и для такого более нового языка, как Perl. А такие языки, например, как C и Java, этого не придерживаются. Символ доллара позволяет отличить переменную от функции, ключевого слова или других элементов синтаксиса PHP. Можно также сделать символ $ частью имени переменной или рассматривать его как оператор, который ссылается на память с заданным именем. Конечно же, говоря о переменных, проще думать в терминах "user equals three", чем "dollar-sign-user equals three". В обычном языке, в котором отсутствуют такие нюансы, проще видеть символ $ , но это не обязательно. В обоих случаях вы будете поняты, а все остальное - это дело личных предпочтений.
Знак равенства (=) используется для присвоения переменной определенного значения и называется оператором присвоения. В левой части оператора указывается переменная, которая принимает значение. В правой части задается выражение, которое может быть простой строковой константой или сложной комбинацией операторов, переменных и констант. Простейшая форма присвоения является константным выражением, это может быть число или взятая в кавычки строка. В табл. 2.4 приведены примеры таких констант.
Переменные PHP никогда не обозначают типы - тип переменной определяется типом значения, которое он хранит. Тип значения, которое хранят переменные, может изменяться в любой момент времени. Например, присвоение целого числа переменной, которая до этого хранила строку, превращает тип этой переменной в целый тип. Это явно контрастирует с языком C, где каждая переменная всегда имеет предопределенный вид. Присвоение значения другого типа в языке C приводит к тому, что он сделает попытку преобразовать тип значения, чтобы он соответствовал типу переменной.
Переменную можно использовать в любом контексте, допустимом для этого выражения. Переменные можно использовать при конструировании сложных выражений и присваивать их результаты другим переменным. В листинге 2.3 одна переменная, присутствующая в выражении, используется для присвоения значения следующей переменной.
I Листинг 2.3. Использование переменных при вычислениях
<?php
//создать переменную
$result = 2 + 5;
//создать другую переменную
$doubleResult = $result * 2.001;
//распечатать вторую переменную
print($doubleResult);
?>
Как было сказано ранее, строки, взятые в двойные кавычки, и документы HERE могут содержать вложенные переменные. Переменную можно указать внутри строки, заключенной в кавычки, и на ее месте появится ее текущее значение. Этот прием работает даже с массивами и объектами. Листинг 2.4 является примером такого приема. Заметим, что в операторе print переменная name заключена в двойные кавычки.
Листинг 2.4. Встроенные переменные
<?php
$name = "Zeev";
//Поприветствуем Зеева
print("Привет, $name!n");
// Поприветствуем Зеева еще раз
print <<< EOD Опять привет, $name! Как дела? EOD;
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Переменные, операторы и выражения. Часть Четвёртая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Переменные, операторы и выражения. Часть Третья. | PHP. Переменные, операторы и выражения. Часть Пятая. |