Переменные в пхп. Создание переменных в PHP. Основные типы переменных


Переменная - это некая сущность, содержащая данные. Если тип данных это общее описание формата хранимых данных и способов работы с ними, то переменная представляет собой конкретный блок памяти компьютера. В этом блоке хранится значение переменной , а обратиться к блоку (и к значению) можно по имени переменной .


В PHP имя переменной всегда начинается со знака доллара ($), за которым обязательно должна следовать буква, после которой можно использовать буквы, цифры и знак подчёркивания. Имена чувствительны к регистру символов, т.е. переменные $value, $Value, $VALUE и $VaLuE - четыре РАЗНЫХ переменных, хотя их имя и читается одинаково.

Примеры синтаксически правильных имён переменных:

Пример некорректных имён:

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

Пример плохо читаемого кода

Краткость, конечно, сетстра таланта, но жертвовать простотой восприятия кода ради его компактности - неразумно. Тем более, что длина имени никак не влияет на производительнось скрипта. Но не стоит и впадать в противоположную крайность - давать переменным слишком длинные имена. Если имя должно состоять из двух и более слов - части имени нужно выделять заглавными буквами или разделять подчёркиваниями. Например, имя $strusernameadndomain намного лучше воспринимается в виде $str_UserNameAndDomain .

Пример хорошо читаемого кода

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

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

Рассмотрим пример:

Передача переменных по значению

Для работы с переменными есть в PHP особые функции:

  • isset() - проверяет, была ли объявлена переменная и отличается ли её значение от NULL;
  • empty() - аналог isset()
  • unset() - встроенная функция языка, удаляющая значение переменной и удаляющая саму переменную из списка доступных переменных (уничтожающая переменную).

Область видимости переменных

Очень важная характеристика переменной - её область видимости (область действия), т.е. описание того, из каких мест программы (скрипта) можно прочитать или изменить её значение. Следует всегда помнить, что переменная, объявленная внутри блока программы, видна только в пределах этого блока, а для того, чтобы обратиться к переменной, объявленной снаружи блока, необходимо её особым образом объявить.

Блоками программы в данном случае являются "скрипт", "функция" или "класс". Например:

Вроде бы всё правильно, но - не работает. Почему? Потому что если явно не сказать, что переменная $name внутри функции - это в действительности глобальная переменная $name, то интерпретатор создать временную копию переменной с именем $name и пустым значением. А так как значение пустое (неопределённое), то и результат сложения строк будет неопределён (пуст).

Исправить положение очень легко, достаточно добавить всего одну строку (выделена жирным шрифтом):

global $name; // явно указываем, что надо // использовать глобальную переменную. $fullName = $name . $family; echo "Имя внутри функции: ".$fullName; } echo "Имя ДО вызова функции: ".$name; // результат: "Имя ДО вызова функции: Вася" tryChengeName(" Иванов"); // результат: "Имя внутри функции: Вася Иванов" echo "Имя ПОСЛЕ вызова функции: ".$name; // результат: "Имя ПОСЛЕ вызова функции: Вася Иванов" ?>

В данном примере переменная $name имеет область видимости, равную всему скрипту, а переменная $fullName, объявленная внутри функции, имеет область определения равную этой самой функции. Это значит, при выходе их функции переменная $fullName будет уничтожена, а все попытки прочитать её значение приведут к ошибке.

Примеры работы с классами мы рассмотрим в разделе "Классы и наследование".

Переменные переменные

Да-да, здесь нет ошибки, именно так (двумя словами) называются некоторые переменные в PHP. Смысл в том, что текстовая часть имени переменной (т.е. имя без знака доллара) может сама быть именем. Например:

Настоятельно не рекомендуется пользоваться подобными приёмами без острой необходимости. Код, напичканый такими трюками, очень сложно сопровождать. Особенно это важно при работе с данными, вводимыми пользователями. Главная причина сложностей - неявные зависимости. Например, что случится, если вместо имени "Вася" написать что-то вроде """""_;%//^q"" ? Правильно! Скрипт в большинстве случаев не сможет выполниться! Можно, конечно, добавить кучу проверок на наличие "неправильных" символов, но проще вообще не пользоваться такими трюками.

Константы

Константа - это некая неизменная величина. Константа объявляется одновременно с именем и значением. Для объявления константы служит функция define() , а для определения наличия константы (т.е. была она определена или нет) - функция defined() . Имя константы строится по тем же правилам, что и имена переменных.

Примеры констант:

Отдельный вид констант PHP - так называемые "магические константы". Это системные константы, значение которых определяет и устанавливает интерпретатор. Таких констант немного:

  • __LINE__ Содержит номер текущей строки в текущем файле.
  • __FILE__ Содержит полное имя текущего файла
  • __FUNCTION__ Содержит имя текущей функции.
  • __CLASS__ Содержит имя текущего класса.
  • __METHOD__ Содержит имя текущего метода текущего класса.

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

Переменные в php - это некий информационный контейнер, который может содержать в себе различные типы данных (текст, цифры, массивы и так далее). В целом переменные позволяют создавать, хранить, изменять, а в дальнейшем оперативно обращаться к информации, заданной в них.

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

Вначале переменные содержат знак $ (доллар) - обозначение использования переменной, потом буквы латинского алфавита (от a до z и маленькие и большие), в конце могу содержать цифры . Также в названии допускается использование нижнего подчёркивания (не в конце).

Как можно называть переменные:

$var
$variable
$year1945
$_variable
Как нельзя называть переменные:

$1 - состоит только из цифры
$1var - нельзя начинать название переменной с цифры
$/var - из дополнительных символов допускается только нижнее подчёркивание _
$переменная - кириллица разрешена документацией php, но не рекомендуема
$var iable - нельзя использовать пробелы

Каждой переменной присваивается значение. Для присвоения значения используется знак = (равно). В течение обработки скрипта значение переменной может неоднократно меняться в зависимости от разных условий.

$city = "Москва"; // переменной $city присвоили строковое (в кавычках) значение Москва
$year = 1147; // а переменной $year присвоили числовое значение 1147
?>

$name = "Александр";
$Name = "Алексей";
echo "$name, $Name"; // выведет "Александр, Алексей"
?>

Вывод переменных PHP

Отдельно следует разобрать то, как отобразить переменные при помощи операторов вывода , работу которых мы разобрали в прошлом уроке Создание странцы PHP. Операторы вывода. . Ниже приведу ряд наглядных примеров с комментариями.

// Так задаём значения переменным
$name1 = "Алексей";
$name2 = "Александр";

// Выводим переменные
echo $name2; // Выведет: Александр
echo "name1 - это $name1"; // name1 - это Алексей

// При использовании одиночных кавычек выводится
// имя переменной, а не значение
echo "name1 - это $name1"; // выведет: name1 - это $name1

// можно вывести просто значения переменных
echo $name1; // Алексей
echo $name1,$name2; // АлексейАлександр
echo $name1." ".$name2; // Алексей Александр
echo "$name1, $name2"; // Алексей, Александр

Echo << Здесь используется синтаксис "here document" для вывода
нескольких строк с подстановкой переменных $variable.
END;

Операции с переменными PHP

Арифметические операции в PHP
В случае с числовыми значениями можно проводить арифметические операции: сложение, вычитание, умножение и так далее.

-$a (отрицание) Смена знака $a.
$a + $b (сложение) Сумма $a и $b.
$a - $b (вычитание) Разность $a и $b.
$a * $b (умножение) Произведение $a и $b.
$a / $b (деление) Частное от деления $a на $b.
$a % $b (деление по модулю) Целочисленный остаток от деления $a на $b.
Рассмотрим примеры

$a = 2; // заметьте, в случае с цифрами кавычки не ставятся
$b = 3; // заметьте, в случае с цифрами кавычки не ставятся

$result = $a + $b; // складываем переменные
echo $result; // выведет 5

$result = $b - $a; // складываем переменные
echo $result; // выведет 1

Операции инкремента и декремента в PHP
Данные операции пригодятся в основном при построении циклов, о которых поговорим чуть позже.
Префиксный - операторы, прописанные ПЕРЕД переменной (--$a ; ++$a ). Возвращают значение переменной до изменений.
Постфиксный - операторы, прописываемые после переменной ($a-- ; $a-- ). Возвращают значение переменной с изменениями.
Инкремент - увеличения значения.
Декремент - уменьшение значения.

++$a Префиксный инкремент. Увеличивает $a на единицу и возвращает значение $a.
$a++ Постфиксный инкремент. Возвращает значение $a, а затем увеличивает $a на единицу.
--$a Префиксный декремент. Уменьшает $a на единицу и возвращает значение $a.
$a-- Постфиксный декремент. Возвращает значение $a, а затем уменьшает $a на единицу.
echo "

Постфиксный инкремент

";
$a = 5;
echo "Должно быть 5: " . $a++ . "\n";

Echo "

Префиксный инкремент

";
$a = 5;
echo "Должно быть 6: " . ++$a . "\n";
echo "Должно быть 6: " . $a . "\n";

Echo "

Постфиксный декремент

";
$a = 5;
echo "Должно быть 5: " . $a-- . "\n";

Echo "

Префиксный декремент

";
$a = 5;
echo "Должно быть 4: " . --$a . "\n";
echo "Должно быть 4: " . $a . "\n";
?>

Операции присвоения в PHP
Базовый оператор выглядит как = . На первый взгляд может показаться, что это оператор равно. На самом деле это не так. В действительности, оператор присвоения означает, что левый операнд получает значение правого выражения, (т.е. устанавливается результирующим значением). Комбинированные операторы - это такие операторы, которые позволяют использовать предыдущие значения переменных для последующих операций (дописывать в строковую переменную (с текстом) или складывать числовые значения).

$a = ($b = 2) + 4; // результат: $a установлена значением 6, переменной $b присвоено 2.

$a = 2;
$a += 3; // устанавливает $a значением 5, аналогично записи: $a = $a + 3;
$b = "Привет ";
$b .= "Мир!"; // устанавливает $b строкой "Привет Мир!", как и $b = $b . "There!";

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

Последнее обновление: 1.11.2015

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

Здесь определена переменная, которая будет хранить число 10. Присвоение значения происходит с помощью знака равенства = .

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

$a = 10; $b=$a; echo $b;

PHP является регистрозависимым языком, а значит, переменные $counter и $Counter будут представлять две разные переменные.

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

    Имена переменных должны начинаться с алфавитного символа или с подчеркивания

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

    Имена переменных не должны включать в себя пробелы

Проверка существования переменной. Оператор isset

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

При попытке вывести значение переменной мы получим диагностическое сообщение о том, что переменная не определена: Notice: Undefined variable: a in C:\localhost\echo.php on line 3 .

Оператор isset() позволяет определить, инициализирована ли переменная или нет. Если переменная определена, то isset() возвращает значение true . Если переменная не определена, то isset() возвращает false . Например:

Для проверки переменной использовалась конструкция if...else , которая определяет истинность выражения. И если выражение истинно, тогда выполняется выражение после блока if. Если же выражение ложно (то есть равно false), выполняется выражение после блока else

Здесь переменная не инициализирована, поэтому оператор isset($a) будет возвращать значение false , и, следовательно, будет срабатывать блок else . Если бы мы присвоили переменной некоторое начальное значение, например, $a=20 , то оператор isset возвратил бы значение true , и браузер вывел бы ее значение.

С помощью оператора unset() мы можем уничтожить переменную:

Переменную можно представить в виде яшика, внутри которого находится значение

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

Имена всех переменных в РНР начинаются со значка $ (знак доллара)

Например, $testVariable = 3; (следующее выражение создает переменную с именем $testVariable (и присваивает ей значение 3.

$testVariable = 3;

РНР не является строго типизированным языком. Это значит, что конкретная переменная на протяжении своего жизненного цикла может содержать данные любого типа, будь то число, текст или любое другое значение. Если вы наберете следующее выражение сразу после предыдущего, оно присвоит новое значение уже существующей переменной $testVariable. Раньше ее использовали для хранения числа, теперь она содержит текстовую строку:

$testVariable = "Три";

Знак равенства, который мы использовали в двух последних выражениях, называется оператором присваивания. С его помощью переменным присваиваются значения. Для выполнения различных математических операций используются другие операторы.
$testVariable =1+1; // присваивает значение 2
$testVariable =1-1; // присваивает значение 0
$testVariable = 2*2; //присваивает значение 4
StestVariable =2/2; // присваивает значение 1
Глядя на этот пример, вы уже, вероятно, догадались, что + - оператор сложения, --оператор вычитания, * - оператор умножения, а / - оператор деления. Все они - арифметические операторы, выполняют действия с числами. Переменные можно использовать везде, где применяются конкретные символьные значения. Взгляните на следующий набор выражений.
$var1 = "РНР"; // присваивает значение "РНР" переменной $varl
$var2 = 5; // присваивает значение 5 переменной $var2
$var3 = $var2 + 1; //~присваивает значение 6 переменной $var3
$var2 = $varl; // присваивает значение "РНР" переменной $var2
echo $var1; // выволит "РНР"
echo $var2; // выводит "5"
echo $var3; // выводит "6"
echo $var1 . " - наше все!"; // выводит "РНР - наше все!"
echo "$var1 - наше все!"; // выводит "РНР - наше все!"
echo "$var1 - наше все!"; // выводит "$varl - наше все!"
Обратите внимание на две последние строки. Вы можете добавить имя переменной внутрь текста и получить ее значение в том же месте, если заключите строку в двойные кавычки вместо одинарных. Процесс преобразования имен переменных в их значения называется интерполяцией. Как видно на примере последней строки, текст, заключенный в одинарные кавычки, не интерполирует имена переменных в их содержимое.

Переменные в РНР - особые объекты, которые могут содержать в буквальном смысле все, что угодно. Если в программе что-то хранится, то оно всегда хранится в переменной (исключение - константа, которая, впрочем, может содержать только число или строку). При присваивании переменная в большинстве случаев копируется один-в-один, какую бы сложную структуру она ни имела. Единственное исключение из этого правила - копирование переменной, ссылающейся на объект: в этом случае объект остается в единственном экземпляре, копируется лишь ссылка на него...

Как уже говорилось, в РНР не нужно ни описывать переменные явно, ни указывать их тип. Интерпретатор все это делает сам. Однако иногда он может ошибаться (например, если в текстовой строке на самом деле задано десятичное число), поэтому изредка появляется необходимость явно указывать, какой же тип имеет то или иное выражение.

Типы переменных, которые поддерживает РНР:

integer (целое число)

Целое число со знаком, обычно длиной 32 бита (от -2 147 483 648 до 2 147 483 647, если это еще кому-то может быть интересно). double (вещественное число) Вещественное число довольно большой точности (ее должно хватить для подавляющего большинства математических вычислений).

string (строка текста)

Строка любой длины. В отличие от С, строки могут содержать в себе также и нулевые символы, что никак не повлияет на программу. Иными словами, строки можно использовать для хранения бинарных данных. Длина строки ограничена только размером свободой памяти, так что вполне реально прочитать в одну строку целый "объемистый" файл размером так килобайтов 200-300 (что часто и делается). Строка легко может быть обработана при помощи стандартных функций, допустимо также непосредственное обращение к любому ее символу.

array (ассоциативный массив)

Ассоциативный массив (или, как его часто называют программисты на Perl, хэш, хотя для РНР такое понятие совсем не подходит). Это набор из нескольких элементов, каждый из которых представляет собой пару вида ключ=> значение (символом => мы обозначаем соответствие определенному ключу какого-то значения). Доступ к отдельным элементам осуществляется указанием их ключа. Ключами здесь могут служить не только целые числа, но и любые строки.

Ссылка на объект, который реализует несколько принципов объектно-ориентированного программирования. Внутренняя структура объекта похожа на ассоциативный массив, за исключением того, что для доступа к отдельным элементам (свойствам) и функциям (методам) объекта используется оператор ->, а не квадратные скобки. Переменные в РНР версии 5 (в отличие от версии 4) хранят не сами объекты, а лишь ссылки на них. Это означает, что при копировании таких переменных (например, оператором $а = $obj) данные объекта в памяти не дублируются, и последующее изменение объекта $а повлечет за собой немедленное изменение объекта $obj.

resource (ресурс)

Некоторый ресурс, который РНР обрабатывает особым образом. Пример ресурса - переменная, содержащая дескриптор открытого файла. Такая переменная может в дальнейшем быть использована для того, чтобы указать РНР, с каким файлом нужно провести ту или иную операцию (например, прочитать строку). Другой пример: функция imageCreate () графической библиотеки GD создает в памяти новую "пустую" картинку указанного размера и возвращает ее идентификатор. Используя этот идентификатор, вы можете манипулировать картинкой (например, нарисовать в ней линию или вывести текст), а затем - сохранить результат в PNG- или JPEG-файл.

boolean (логический тип)

Существует и еще один "гипотетический" тип переменных - логический. Логическая переменная может содержать одно из двух значений: false (ложь) или true (истина). Вообще, любое ненулевое число (и непустая строка), а также ключевое слово true символизирует истину, тогда как 0, пустая строка и слово false - ложь. Таким образом, любое ненулевое выражение (в частности, значение переменной) рассматривается в логическом контексте как истина. Вы можете пользоваться константами false и true в зависимости от логики программы. При выполнении арифметических операций над логической переменной она превращается в обычную, числовую переменную. А именно, false рассматривается как О, a true - как 1.

NULL (специальное значение) Переменной можно присвоить специальную константу NULL (или null, эго одно и то же), чтобы пометить ее особым образом. Тип этой константы - особый и называется также NULL. Это именно отдельный тип, и функция gettype()

Действия с переменными

Вне зависимости от типа переменной, над ней можно выполнять три основных действия.

Присвоение значения Мы можем присвоить некоторой переменной значение другой переменной (или значение, возвращенное функцией), ссылку на другую переменную, либо же константное выражение (за исключением объектов, для которых вместо этого используется оператор new). Как уже говорилось, за преобразование типов отвечает сам интерпретатор. Кроме того, при присваивании старое содержимое и, что самое важное, тип переменной теряются, и она становится абсолютно точной копией своего "родителя". То есть, если мы массиву присвоим число, это сработает, однако весь массив при этом будет утерян.

Проверка существования Можно проверить, существует ли (т. е. инициализирована ли) указанная переменная. Осуществляется это при помощи встроенного в РНР оператора isset. Например:
if (isset(SmyVar))
echo "Такая переменная есть. Ее значение SmyVar";

Если переменной в данный момент не существует (т. е. нигде ранее ей не присваивалось значение, либо же она была вручную удалена при помощи unset, то isset о возвращает ложь, в противном случае - истину. Важно помнить, что мы не можем использовать неинициализированную переменную в программе - иначе это породит предупреждение со стороны интерпретатора (что, скорее всего, свидетельствует о наличии логической ошибки в сценарии). Конечно, предупреждения можно выключить, тогда все неинициализированные переменные будут полагаться равными пустой строке. Однако мы категорически не советуем вам этого делать - уж лучше лишняя проверка присутствия в коде, чем дополнительная возня с "отлавливанием" потенциальной ошибки в будущем. Если вы все же захотите отключить это злополучное предупреждение (а заодно и все остальные), лучше использовать оператор отключения ошибок и, который действует локально/

Уничтожение

Уничтожение переменной реализуется оператором unset. После этого действия переменная удаляется из внутренних таблиц интерпретатора, т. е. программа начинает выполняться так, как будто переменная еще не была инициализирована. Например:

Переменная - это символическое обозначение области памяти, которое программист может использовать для присвоения произвольного значения. Изменять значение переменной можно в ходе выполнения программы. О непосредственном управлении данной областью памяти позаботится сам компьютер, нам необходимо лишь определить для переменной имя и присвоить ей значение. Необходимо помнить о том, что при использовании переменной перед ее именем нужно всегда ставить знак доллара ($) - именно так вы сообщаете РНР, что в данном случае используется переменная.

Правильные названия переменных:

$result,
$Result или
$reSULt.
Ошибки при вводе с клавиатуры названий переменных - вот одна из наиболее распространенных ошибок в РНР-скриптах.

Неправильные названия переменных, например:

$12_hoi.rs_AM (цифры в начале имени переменной),
$High Noon (наличие пробела)
$High-Noon (использование знака минус - это в РНР также специальный символ).

Прежде чем использовать переменную в вашей программе, вы должны известить об этом в вашей программе - вы должны объявить переменную. В некоторых языках программирования это является достаточно трудоемкой задачей, однако в РНР, к счастью, все относительно просто. Декларация переменной осуществляется просто присвоением ей значения, и это присвоение производится с помощью знака равенства:
$Variable = значение

Оператор присваивания

Мы не сильно ошибемся, если скажем, что нет на свете такой программы, в которой не было бы ни одного оператора присваивания. И в РНР - программе этот оператор, конечно же, тоже есть. Мы уже с ним встречались, это - знак равенства (=): $ имя_переменной = значение;

Как и во всех языках программирования, в 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 (название самой переменной) нужно поставить перед ней обратный слэш "\":

// вывод на экран $text = Текст ?>

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

// объявление переменной $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__; ?>

Внешние переменные в PHP

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

Протокол HTTP позволяет передавать и считывать данные с помощью методов GET и POST . Выбор метода можно задать в html-формах (см. тег form).

Эти методы (GET и POST) являются очень важными, поэтому для описание этих методов был посвящен целый урок 3: