Как создать переменную в php
Перейти к содержимому

Как создать переменную в php

  • автор:

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

Переменная в PHP — это область в памяти, которая хранит в себе данные: числа, строки (текст) и т.д. У переменной имеется имя (которое вы придумываете сами), обращаясь к переменной по имени, можно получить данные которая она в себе хранит.

Переменная по английский пишется как variable.

Создание переменной в PHP

Схема создания переменной в PHP (объявления переменной), выглядит следующим образом:

$имяПеременной;

Перед именем переменной в PHP, нужно ставить знак доллара $ .

Имена переменных в PHP

Имена переменных в PHP, могут состоять из цифр, букв английского алфавита, знака подчёркивания _ и знака доллара $ .
Имя переменной должно начинаться со знака доллара, после знака доллара должна идти буква или знак подчёркивания.
Имена переменных в PHP чувствительны к регистру букв, например $имяПеременной и $ИМЯПЕРЕМЕННОЙ это разные переменные.

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

Схема присвоения переменной значения в PHP (инициализации переменной), выглядит следующим образом:

$имяПеременной = значение;

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

О значениях и их типах данных: строка, число, булев тип, NULL и т.д. мы поговорим в следующих уроках.

Получаем доступ к значению переменной в PHP

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

Приведём пример создания переменной и вывода её значения:

Данный скрипт выведет слово Россия .

В PHP, переменная создаётся в момент первого присваивания ей значения, в связи с этим, наш пример можно сократить на одну строку и написать так.

Как создать переменную в php

Переменные хранят отдельные значения, которые можно использовать в выражениях PHP. Для определения переменных применяется знак доллара $ . Например:

Здесь определена переменная $num . Поскольку определение переменной — это отдельная инструкция, она завершается точкой с запятой.

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

Также при наименовании переменных нам надо учитывать следующие правила:

  • Имена переменных должны начинаться с алфавитного символа или с подчеркивания
  • Имена переменных могут содержать только символы: a–z, A–Z, 0–9, и знак подчеркивания
  • Имена переменных не должны включать в себя пробелы

С помощью операции присвоения ( = ) переменной присваивается определенное значение:

$num = 10;

Здесь определена переменная $num , которая хранит число 10.

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

   METANIT.COM     

С помощью функции echo значение переменной $num выводится на веб-страницу. И при обращении к скрипту мы увидим значение переменной $num :

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

Отличительной особенностью переменных является то, что мы можем изменять их значение:

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

$a = 15; $b = $a; echo $b;

Если переменная объявлена, но ей изначально не присвоено никакого значения (иначе говоря она не инициализирована), то нам будет проблематично ее использовать. Например:

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

Warning: Undefined variable $num in C:\localhost\hello.php on line 13 22

Поэтому перед использованием переменной ей следует присвоить начальное значение.

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

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

Здесь функции echo передается строка. Чтобы встроить в строку значение переменной, в этой строке указываем имя переменной вместе со знаком $. И кода в строке PHP встретит выражение $num_1 , он заменит это выражение значением переменной $num_1. То же самое касается и переменной $num_2 . В итоге при выполнении этого скрипта браузер отобразит значения обеих переменных:

num_1 = 11 num_2=35

Переменные — Основы PHP

В этом уроке мы познакомимся с переменными и научимся работать с ними. Мы узнаем, зачем они нужны, как их создавать, использовать и менять. Еще разберемся, как работать с константами, и что такое heredoc-синтаксис.

Создаем переменную

Допустим, нам нужно напечатать на экран слово «Father!» два раза или даже пять раз. Эту задачу можно решить так:

 print_r('Father!'); print_r('Father!'); 

В простом случае так и стоит поступить, но если слово «Father!» начнет использоваться чаще и в разных частях программы, то придется его везде повторять. Если нам понадобится изменить слово, то придется найти все места, где оно использовалось и выполнить необходимую замену. А можно поступить по-другому. Вместо копирования выражения достаточно создать переменную с этой фразой:

 // greeting - переводится как приветствие $greeting = 'Father!'; print_r($greeting); print_r("\n"); print_r($greeting); // => Father! // => Father! 

В строчке $greeting = ‘Father!’ значение ‘Father!’ присваивается переменной с именем $greeting . В PHP имена переменных начинаются со знака $. В итоге переменная указывает на данные, которые были в нее записаны.

Когда переменная создана, можно начать ее использовать.

Использование переменной

Переменная подставляется в те места, где раньше стояло наше слово. Во время выполнения интерпретатор доходит до строчки print_r($greeting); и подставляет вместо переменной ее содержимое, а затем выполняет код.

Для имени переменной используется любой набор допустимых символов, к которым относятся буквы английского алфавита, цифры, знак _ . При этом цифру нельзя ставить в начале. Имена переменных регистрозависимы, то есть имя hello и имя heLLo — это два разных имени, значит, это две переменные. Регистр в PHP имеет важное значение, не стоит забывать про него.

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

Изменение переменной

Со временем внутри программы значения переменных могут изменяться:

 // greeting - переводится как приветствие $greeting = 'Father!'; print_r($greeting); // => Father! $greeting = 'Mother!'; print_r($greeting); // => Mother! 

Имя осталось тем же, но внутри другие данные. Переменные в PHP не требуют специального объявления. Вместо этого переменная объявляется при первом ее использовании в программе.

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

Переменные меняются нечасто. Обычно их используют, чтобы хранить.

Ошибки при работе с переменными

Переменную нужно объявить до ее использования. Если сделать это позже, то программа не заработает:

 print_r($greeting); $greeting = 'Father!'; // PHP Notice: Undefined variable: greeting in /private/var/tmp/index.php on line 3 

Запуск программы выше завершается с ошибкой PHP Notice _ — это ошибка обращения. Она означает, что в коде используется имя (идентификатор), которое не определено. При этом в самой ошибке указан идентификатор переменой: greeting .

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

Константы

Разработчики часто работают с данными, которые никогда не меняются. Например, число π, которое всегда равно 3.14 и не может измениться.

Для обращения к подобным данным в PHP принято использовать константы:

 const PI = 3.14; print_r(PI); // => 3.14 

Создание константы отличается от создания переменной. Оно начинается с ключевого слова const и последующего имени константы. При этом знак доллара не нужен. Далее ей присваивается нужное значение.

Константы принято именовать буквами в верхнем регистре с _ в качестве разделителя. Константа тоже может использоваться в любом выражении. Единственное ограничение — константу нельзя изменить.

В PHP много встроенных констант, которые можно использовать в любом месте программы. Вот некоторые из них:

  • PHP_VERSION — текущая версия PHP
  • PHP_MAXPATHLEN — максимальная разрешенная длина имени файла
  • PHP_INT_MAX — максимальное возможное значение целых чисел (integer)

Кроме обычных констант в PHP существует отдельная группа — магические константы. Их отличия заключаются в следующем:

  • Магические константы невозможно определить самому, можно пользоваться только существующими
  • Магические константы начинаются и заканчиваются символами __ (два подчеркивания)
  • Магия заключается в том, что такие константы имеют одно и то же значение только в пределах определенной части программы

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

  • __LINE__ — содержит текущую строку файла, в котором она используется
  • __FILE__ — путь до текущего файла
  • __DIR__ — путь до директории, в которой находится текущий файл

Heredoc

 $str =  print_r($str); // => Пример строки, // => охватывающей несколько строк, // => с использованием heredoc-синтаксиса. // => Здесь не нужно экранировать ни одинарные ', ни двойные " кавычки. 

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

Выводы

В этом уроке мы познакомились с переменными и научились работать с ними. Мы узнали, зачем они нужны, как их создавать, использовать и менять. Еще разобрались, как работать с константами. Это значения, которые никогда не меняются. При этом существуют не очень постоянные константы, но их изменения регламентированы и на практике не вызывают проблем.

Дополнительные материалы

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

  • Статья «Как учиться и справляться с негативными мыслями»
  • Статья «Ловушки обучения»
  • Статья «Сложные простые задачи по программированию»
  • Урок «Как эффективно учиться на Хекслете»
  • Вебинар « Как самостоятельно учиться »

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Как создать переменную в php

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

Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с буквы или символа подчёркивания и состоять из букв, цифр и символов подчёркивания в любом количестве. Это можно отобразить регулярным выражением: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$

Замечание: Под буквами здесь подразумеваются символы a-z, A-Z и байты от 128 до 255 ( 0x80-0xff ).

Замечание: $this — это специальная переменная, которой нельзя ничего присваивать. До PHP 7.1.0 было возможно косвенное присвоение (например, с использованием переменных переменных).

Подсказка

Для информации о функциях работы с переменными обращайтесь к разделу функций работы с переменными.

$var = ‘Боб’ ;
$Var = ‘Джо’ ;
echo » $var , $Var » ; // выведет «Боб, Джо»

$ 4site = ‘ещё нет’ ; // неверно; начинается с цифры
$_4site = ‘ещё нет’ ; // верно; начинается с символа подчёркивания
$täyte = ‘mansikka’ ; // верно; ‘ä’ это (Расширенный) ASCII 228.
?>

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

PHP также предлагает иной способ присвоения значений переменным: присвоение по ссылке. Это означает, что новая переменная просто ссылается (иначе говоря, «становится псевдонимом» или «указывает») на оригинальную переменную. Изменения в новой переменной отражаются на оригинале, и наоборот.

Для присвоения по ссылке, просто добавьте амперсанд (&) к началу имени присваиваемой (исходной) переменной. Например, следующий фрагмент кода дважды выводит ‘ Меня зовут Боб ‘:

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

Важно отметить, что по ссылке могут быть присвоены только именованные переменные.

$foo = 25 ;
$bar = & $foo ; // Это верное присвоение.
$bar = &( 24 * 7 ); // Неверно; ссылка на неименованное выражение.

function test ()
return 25 ;
>

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

Пример #1 Значения по умолчанию в неинициализированных переменных

// Неустановленная И не имеющая ссылок (то есть без контекста использования) переменная; выведет 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); выведет ‘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 (смотрите http://www.php.net/manual/ru/reserved.classes.php)
// Выведет: object(stdClass)#1 (1) < ["foo"]=>string(3) «bar» >
$unset_obj -> foo = ‘bar’ ;
var_dump ( $unset_obj );
?>

Полагаться на значения по умолчанию неинициализированных переменных довольно проблематично при включении файла в другой файл, использующий переменную с таким же именем. В случае работы с неинициализированной переменной вызывается ошибка уровня E_WARNING (до PHP 8.0.0 выбрасывалась ошибка уровня E_NOTICE ), за исключением случая добавления элементов в неинициализированный массив. Для обнаружения инициализации переменной может быть использована языковая конструкция isset() .

User Contributed Notes 5 notes

13 years ago

This page should include a note on variable lifecycle:

Before a variable is used, it has no existence. It is unset. It is possible to check if a variable doesn’t exist by using isset(). This returns true provided the variable exists and isn’t set to null. With the exception of null, the value a variable holds plays no part in determining whether a variable is set.

Setting an existing variable to null is a way of unsetting a variable. Another way is variables may be destroyed by using the unset() construct.

print isset( $a ); // $a is not set. Prints false. (Or more accurately prints ».)
$b = 0 ; // isset($b) returns true (or more accurately ‘1’)
$c = array(); // isset($c) returns true
$b = null ; // Now isset($b) returns false;
unset( $c ); // Now isset($c) returns false;
?>

is_null() is an equivalent test to checking that isset() is false.

The first time that a variable is used in a scope, it’s automatically created. After this isset is true. At the point at which it is created it also receives a type according to the context.

$a_bool = true ; // a boolean
$a_str = ‘foo’ ; // a string
?>

If it is used without having been given a value then it is uninitalized and it receives the default value for the type. The default values are the _empty_ values. E.g Booleans default to FALSE, integers and floats default to zero, strings to the empty string », arrays to the empty array.

A variable can be tested for emptiness using empty();

$a = 0 ; //This isset, but is empty
?>

Unset variables are also empty.

empty( $vessel ); // returns true. Also $vessel is unset.
?>

Everything above applies to array elements too.

$item = array();
//Now isset($item) returns true. But isset($item[‘unicorn’]) is false.
//empty($item) is true, and so is empty($item[‘unicorn’]

$item [ ‘unicorn’ ] = » ;
//Now isset($item[‘unicorn’]) is true. And empty($item) is false.
//But empty($item[‘unicorn’]) is still true;

$item [ ‘unicorn’ ] = ‘Pink unicorn’ ;
//isset($item[‘unicorn’]) is still true. And empty($item) is still false.
//But now empty($item[‘unicorn’]) is false;
?>

For arrays, this is important because accessing a non-existent array item can trigger errors; you may want to test arrays and array items for existence with isset before using them.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *