PHP:Переменные

PHP

Переменные


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

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


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

<?php
 $name = 'value';
 $value = 5;
 echo $$name;
?>


Результатом работы данного фрагмента будет вывод в выходной поток значения «5». На будущее следует заметить, что подобный подход применим и к функциям, и к классам, что позволяет создавать весьма затейливые, но, при этом, эффективные конструкции.

Имена переменных могут включать символы латинского алфавита, цифры во всех позициях имени, кроме первой после знака доллара, а также символ подчёркивания «_». Имена переменных в PHP регистрозависимы, то есть, $var и $Var будут разными переменными.

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

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

Вообще, можно сказать, что переменные в РНР могут быть четырех типов — число (целое или дробное), строка текста, массив и объект. Интерпретатор РНР автоматически определяет тип переменной на основании анализа ее содержимого.

Переменные в PHP также могут принимать специальные значения true и false, но говорить о том, что существует специальный логический или булев тип, нельзя. О том, как могут быть использованы данные значения, мы также поговорим специально.

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

Тем не менее, если вам вдруг понадобится привести переменную к определённому типу явным образом, вы можете это сделать – для этого нужно будет просто прописать требуемый тип переменной в скобках перед самим именем переменной:
$foo = 10; // $foo - целое
$bar = (double) $foo; // $bar теперь имеет двойную точность


Типы для приведения известны интерпретатору PHP следующие:

· (int), (integer) — приведение к integer
· (real), (double), (float) — приведение к double
· (string) — приведение к типу string
· (array) — приведение к типу array
· (object) — приведение к типу object

Одна и та же переменная может менять свой тип в процессе выполнения кода вашей программы.

Обратите внимание

Подход, при котором для объявления переменной нужно начать её использовать, имеет и негативную сторону: очень труднообнаруживаемыми становятся элементарные опечатки в именах переменных. То есть, например, Вы проинициализировали каким-либо значением вы переменную $day, а в вызове какой-либо функции, имея ввиду передать её, как параметр, по ошибке написали $dey. В этом случае, никто вас об этом специально не предупредит, и вам, скорее всего, придётся потратить какое-то время на поиски, куда девается первоначальное значение, которое вы переменной $day только что явным образом задали.

1 комментарий

Оставить комментарий

Комментировать при помощи:
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.