Что значит доллар в php

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

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

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

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

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

//можно было написать и так: echo $pEr.", ".$per.", ".$PER; //точка "." является в роли "плюса" ?>

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

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

// переменная $text имеет числовой тип echo $text; // вывод на экран 12345 $text = "Текст"; // переменная $text имеет строковый тип echo $text; // вывод на экран "Текст" $text = 5+5; // переменная $text имеет опять числовой тип echo $text; // вывод на экран 10 ?>

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

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

// объявление переменной $text if(isset($text)) echo "Переменная $text существует
"; else echo "Переменная $text не существует
"; // В данном случае будет выведено, что $text существует echo "Запускаем процедуру unset
"; unset($text); // Удаляем переменную $text if(isset($text)) echo "Переменная $text существует
"; else echo "Переменная $text не существует
"; // Будет выведено, что переменная $text не существует ?>

С помощью функции 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

Переменные в 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 ); // Неверно; ссылка на неименованное выражение.

Хорошей практикой считается инициализировать переменные, хотя в 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

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.

Источник

Why does PHP use a dollar sign $ to prefix variables?

Rasmus Lerdorf, the father of the PHP language, explains the $ sign as an ability to insert variables inside literal string values (interpolation), so that the variables are distinguished from the rest of the string. A dollar sign in front of variables in PHP is inspired by Perl which greatly influenced PHP during its early years.

Many other programming languages also use a dollar sign in their syntax. This symbol is called “sigil” and simplifies interpolation.

Names not prefixed by $ are considered constants, functions, class names, etc.

Sigil usage simplifies the variable interpolation into strings:

 $name = "World"; echo "Hello, $name"; 

Where as in languages without sigil usage (for example, Python), you must either concatenate strings:

# Python name = "World" print "Hello, " + name 

or use special interpolation syntax if the language provides it. For example, Ruby:

# Ruby name = "World" puts "Hello #name>" 

Many people used to other languages might find the sigil usage odd, but you can get used to it in no time and discover its benefits.

See also

Источник

Читайте также:  Sqlite3 python обновление данных
Оцените статью