1. Fast silver
  2. »
  3. Программирование
  4. »
  5. Основы переменных в PHP
Друзья сайта
Бонусы

Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки

Кошелек
Код Защитный код

Обмен Webmoney

Заработок1
Заработок2
Заработок3
Заработок4
Заработок5
Раскрутка веб сайтов(Бесплатно)

Основы переменных в PHP

Категория: Программирование Просмотров: 1 509
Переменные в PHP представлены знаком доллара с последующим именем переменной. Имя переменной чувствительно к регистру.
Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с буквы или символа подчеркивания и состоять из букв, цифр и символов подчеркивания в любом количестве. Это можно отобразить регулярным выражением: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Замечание: Под буквами здесь подразумеваются символы a-z, A-Z, и байты от 127 до 255 (0x7f-0xff).
Замечание: $this - это особая переменная, которой нельзя ничего присваивать.

<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // выведет "Bob, Joe"
 $4site = 'not yet';     // неверно; начинается с цифры
$_4site = 'not yet';    // верно; начинается с символа подчеркивания
$t&#228;yte = 'mansikka';    // верно; '&#228;' это (Расширенный) ASCII 228.
?>

По умолчанию, переменные всегда присваиваются по значению. То есть, когда вы присваиваете выражение переменной, все значение оригинального выражения копируется в эту переменную. Это означает, к примеру, что, после того как одной переменной присвоено значение другой, изменение одной из них не влияет на другую. Дополнительную информацию об этом способе присвоения смотрите в разделе Выражения.
PHP также предлагает иной способ присвоения значений переменным: присвоение по ссылке. Это означает, что новая переменная просто ссылается (иначе говоря, "становится псевдонимом" или "указывает") на оригинальную переменную. Изменения в новой переменной отражаются на оригинале, и наоборот.
Для присвоения по ссылке, просто добавьте амперсанд (&) к началу имени присваиваемой (исходной) переменной. Например, следующий фрагмент кода дважды выводит 'Меня зовут Боб':

<?php
$foo = 'Боб';              // Присваивает $foo значение 'Боб'
$bar = &$foo;              // Ссылка на $foo через $bar.
$bar = "Меня зовут $bar";  // Изменение $bar...
echo $bar;
echo $foo;                 // меняет и $foo.
?>

Важно отметить, что по ссылке могут быть присвоены только именованные переменные.
<?php
$foo = 25;
$bar = &$foo;      // Это верное присвоение.
$bar = &(24 * 7);  // Неверно; ссылка на неименованное выражение.

function test() {   return 25; }

$bar = &test();    // Неверно.
?>

Хотя в PHP и нет необходимости инициализировать переменные, это считается очень хорошей практикой. Неинициализированные переменные принимают значение по умолчанию в зависимости от их типа, который определяется из контекста их первого использования: булевы принимают значение FALSE, целые и числа с плавающей точкой - ноль, строки (например, при использовании в echo) - пустую строку, а массивы становятся пустыми массивами.
Пример #1 Значения по умолчанию в неинициализированных переменных

<?php
// Неустановленная И не имеющая ссылок (т.е. без контекста использования) переменная; выведет NULL
var_dump($unset_var); 
// Булевое применение; выведет 'false'
echo($unset_bool ? "true\n" : "false\n"); 
// Строковое использование; выведет 'string(3) "abc"'
$unset_str .= 'abc'; var_dump($unset_str); 
// Целочисленное использование; выведет 'int(25)'
$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int); 
// Использование в качестве числа с плавающей точкой (float/double); выведет 'float(1.25)'
$unset_float += 1.25; var_dump($unset_float); 
// Использование в качестве массива; выведет array(1) {  [3]=>  string(3) "def" }
$unset_arr[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr); 
// Использование в качестве объекта; создает новый объект stdClass
// Выведет: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$unset_obj->foo = 'bar'; var_dump($unset_obj);
?>

Полагаться на значения по умолчанию неинициализированных переменных довольно проблематично при включении файла в другой файл, использующий переменную с таким же именем. Это также большой риск в системе безопасности при включенной опции register_globals. В случае работы с неинициализированной переменной вызывается ошибка уровня E_NOTICE, за исключением случая добавления элементов в неинициализированный массив. Для обнаружения инициализации переменной может быть использована языковая конструкция isset().
скачать dle 12.1
дата: 12-02-2018, 17:35
автор: admin
Теги:
  • Комментарии


Имя:*
E-Mail:
Привет, Гость
Чатик
Galina
Galina
18 марта 2018

Здрасти ?
admin
admin
15 марта 2018

Всех приветствую !
ZZZ1
ZZZ1
13 февраля 2018

Здравствуйте.
ravshan92
ravshan92
12 февраля 2018

Желаю развития этому сайту)
ravshan92
ravshan92
12 февраля 2018

Всем доброго вечера ребят)
ogurec
ogurec
12 февраля 2018

ВСЕМ ПРИВЕТ УДАЧИ И ХОРОШОГО НАСТРАЕНИЯ ВСЕМ ПОКА ПОКА !!!!!!
Tatika
Tatika
12 февраля 2018

Удачи и успеха!!!
Vladimir
Vladimir
12 февраля 2018

Привет!
admin
admin
11 февраля 2018

Всех приветствую!

Каталог сайтов Всего.ру