Переменные в PHP. Первый урок по PHP: особенности синтаксиса, вывод данных, переменные, работа с ошибками Вывод на экран переменной php

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

Являясь программным языком, php не может интерпретировать (обрабатывать, преобразовывать) данные самостоятельно, без сторонних программ. Для его полнофункциональной работы, требуется виртуальный, или локальный хостинг, например такой как «Denwer», с поддержкой php.

Обычная php страница.

И так как было сказано выше, для работы php требуется хостинг. Запускаем «Denwer», если он у вас установлен, заходим и открываем папку «home». Создаём файл с именем виртуального сайта, например «myphp.ru», открываем её и создаём ещё одну папку «WWW». Далее открываем редактор «Notepad++», сохраняем новый файл, в пак myphp.ru > WWW, обозначив его как index.php. Теперь необходимо создать в нем основной код, такой же, как и HTML. Добавив обозначения между тегов , , который скажет браузеру и интерпретатору, что здесь будет работать код PHP.

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

Как видим, наш код изначально не особо и отличается от HTML, с той лишь разницей, что появилась вставка для PHP кода и сам файл имеет такое же расширение.

Переменные и значения php.

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

$goods = "Автомобиль";

В данном случае «$goods » это переменная, где «"Автомобиль";» значение переменной. Между ними находится знак «= », здесь важно запомнить, что это не знак равенство или равно, в PHP это значение «ПРИСВОИТЬ». То есть: переменной $goods присвоить = значение "Автомобиль"; .

Выводим значение переменных, на экран.

В PHP, для вывода информации на экран используются так называемый «Оператор вывода». Таких операторов, php имеет два это, оператор «echo » и оператор «print ». Оба оператора, не чем не отличаются друг от друга и имеют одну и, туже сущность, выводить информацию. Для примера воспользуемся оператором «echo» и выведем информацию, добавив туда нашу переменную «$goods ».

echo "

Товар: $goods

";

Сохраним и перейдём в браузер, набрав в адресной строке «myphp.ru». И мы видим следующее: «Товар: Автомобиль». Если всё так значит, переменная работает и подставляет вместо себя значения, для вывода на экран.

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

$goods = "Автомобиль"; $name = "Форд"; $amt = "100"; $sales = "30"; $sum = $amt-$sales;

И так смотрим, первая переменная ($goods) отвечает за название товара. Вторая переменная ($name) наименование товара. Третья переменная ($amt) количество поступившего товара. Четвёртая переменная ($sales) количество проданного товара. И вот последняя переменная ($sum), в нашем случае самая интересная которой, в качестве значения присвоена третья переменная ($amt) минус четвёртая ($sales) переменная. То есть переменная $sales будет выводить на монитор уже посчитанное значение двух переменных.

($amt)-($sales)=($sum).

Теперь выведем информацию на монитор, с помощью оператора «echo».

Echo "

Товар: $goods

Наименование: $name

Количество: $amt

Продано всего: $sales

Остаток: $sum

";

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

Рисунок № 1.

И представим, что нам сообщили с отдела продаж о реализации ещё пяти автомобилей. Соответственно нам необходимо поменять число 30 в переменной $sales на 35, а вот в переменной $sum всё произойдёт автоматический и на экране монитора сразу выведутся два новых значения в пунктах «Продано всего» и «Остаток».

Результат вывода переменных и их значений.

В результате получилась программка, которая способна сама производить подсчёт итоговой информации.

Основы PHP-переменные Товар: $goods

Наименование: $name

Количество: $amt

Продано всего: $sales

Остаток: $sum


"; ?>

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

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

Чтобы вывести на экран текст мы используем одну из следующих конструкций языка: echo или print, либо функцию printf. Давайте разберём варианты и их особенности:

Функция printf позволяет нам вывести на экран отформатированный текст:
printf("%%b = "%b"", 322); // Вывести значение в двоичном представлении

Printf используется очень редко, самое популярное применение: преобразовать цену товара в классический вид: рубли.копейки. К примеру:

Если printf используют для вывода очень редко, то вот языковые конструкции print и echo - в каждом коде! Я говорю, что printf функция и значение надо писать в скобках по примеру выше, а вот echo и print - языковые конструкции и текст писать в скобках не надо:

Разница между echo и print есть, хоть смысл у них один и тот же. print может указывать лишь 1 значение, а вот в echo можно перечислять их через запятую:

Не смотря на это всё же можно вывести через один print 2 переменных и делается это с использованием конкатенации:

Конкатенация строк работает следующим образом, она СНАЧАЛА объединяет все в одну большую строку, а уже потом выводит один раз! С другой стороны мы не говорим по очереди "выведи то, выведи сё", мы говорим: у тебя выделено в памяти 1 байт под $x, и 1 байт под $y, объедини $x и $y в памяти и получи ещё одну временную строку в 2 байта (2 символа латинских), и потом выведи и очисти память. В итоге математики уже смогли посчитать. что при конкатенации будет занято уже 4 байта временно на данные, а при перечислении через запятую только 2.

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

По поводу конкатенации стоит заметить самую важную и огромнейшую вещь - её используют для объединения переменной с переменной или строки с переменной, но объединять строку со строкой будет считаться плохим тоном:
Hello

World
"; // много тегов можно уместить в одной строке для вывода, не стесняйтесь

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

Завершая тему print и echo хотелось бы уточнить ещё второе отличие. print возвращает цифру 1 всегда после завершения выполнения, echo - нет. И вот на этом часто любят строить задачки такого плана для того, чтобы пошевелить мозгами:

И типовая задачка:

И тут Вы спросите, используется ли такое где-то? Ответ - НЕТ, это считается маразмом, и была бы моя воля, я print сделал бы лишь синонимом echo. Не смотря на то, что подобное никто никогда не использует, эта возможность до сих пор остаётся как развлечение для теоретиков.

Какие кавычки правильно использовать для вывода текста в PHP

Я не буду грузить Вам голову маразмом, итак одну вещь рассказал выше. Поэтому давайте сразу перейдем к тому, как правильно делать вывод!

Правило №1 - без кавычек мы пишем числа и переменные:

Правило №2: Одинарные кавычки используем когда хотим вывести в неизменном виде то, что содержится внутри кавычек, а это мы хотим сделать всегда:
Mr. Propper";

Заметьте, что теги отправляются в браузер в неизменном виде, а браузер, в свою очередь, обрабатывает их и выводит как теги, то есть уже отформатированный код. Снова же мы повторяем, что PHP - генерирует HTML, а не текст.

Исключения из правил, когда мы хотим вывести спецсимволы такие как знак больше или меньше, или целый блок HTML, то мы применяем функцию htmlspecialchars:
Mr. Propper");

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

Данный код считается ужасным, банально потому что мы не можем читать наш код и не понимаем его поведение:
Глядя на код выше выведется Friends или FrienBeer ? Это называется не очевидным поведением, а значит в будущем ещё не раз поведение этого кода может быть изменено. Никогда не пишите код так, чтобы нельзя было его сразу быстрым взглядом понять. Правильно было бы:

Но не смотря на это мы двойные кавычки используем в двух случаях, когда нам надо вывести перевод строки (не HTML) либо спецсимвол:
В исходном коде страницы Вы можете увидеть как работает перевод строки \r\n и понять разницу.

Встраиваем вывод из PHP в HTML

PHP - лишь инструмент, способ вставить в HTML какую-то сгенерированную часть данных, поэтому мы используем PHP внутри HTML всегда. Простой вариант:

Указанный выше синтаксис многогранен, внутри конструкции PHP мы можем не только использовать echo, но и любые другие операции включая создание переменных и т.д. и т.п. Но если необходимо ТОЛЬКО вывести переменную или текст одним действием (только одним echo), можно применить сокращенный синтаксис:
"; $y = "b"; ?>

Самое интересное, это использовать совмещенный синтаксис для PHP и HTML:

Как вы видите, внутри итерации цикла можно выводить чистый HTML, достаточно закрыть конструкцию PHP и продолжить выводить HTML. Этот способ намного предпочтительнее обычного echo тем, что наш редактор кода IDE PHPStorm подсветит синтаксис кода и упростит разработку сайта.

Статья будет дорабатываться и совершенствоваться. Но даже сейчас я в ней обозначил все основные приёмы вывода текста и переменных в PHP

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

Переменные устроены точно также. В них можно положить какое-нибудь значение и хранить там, пока оно не понадобится.

Создание переменных

Положить значение в переменную можно следующим образом:

В коде выше мы создали переменную $name и положили в неё значение Иван , затем создали переменную $age и присвоили ей значение 20 .

Название "переменная" означает, что её значение может меняться во время выполнения скрипта:

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

Также вместо "положить в переменную значение" часто говорят "присвоить значение".
Причина проста - символ = , благодаря которому мы сохраняем значение в переменную, называется "оператор присваивания". Отсюда и термин "присвоить".

Правила именования переменных

1. Название переменной начинается с символа $.

2. Вторым символом может быть буква или символ подчёркивания _

Названия переменных регистрозависимы. $name и $Name - это разные переменные.

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

Вывести переменную можно с помощью уже известной нам команды echo :

Команда echo позволяет вывести на экран сразу несколько значений:

Заметьте, мы передали в echo 2 значения, разделив их запятой. Так мы можем передавать сколько угодно значений. Следующие два примера приведут к одинаковому результату:

Также в PHP существует сокращённый синтаксис вывода переменных. Вместо

До версии PHP 5.4 сокращённый синтаксис работал только при включении в настройках PHP директивы short_open_tag , которая также позволяет использовать сокращённый открывающий тег

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

Команда echo не всегда удобна для проверки текущего значения переменной. К примеру, при попытке вывода пустой строки "" на экран не выведется абсолютно ничего. И непонятно, в чём причина - в пустой переменной или неработающем коде.

Поэтому для проверки значения переменной используется функция var_dump() :

Результат выполнения скрипта:

String(5) "Vasya" string(0) ""

Как видите, PHP вывел не только содержимое переменной, но ещё и количество символов, и даже тип переменной (string - строка). Типы данных мы подробно рассмотрим на следующих уроках.

Удаление переменных

Удалить существующую переменную можно с помощью функции unset() :

А теперь пришло время немного попрактиковаться.

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

Напишите скрипт, который:
1. Создаёт переменные с названиями title и content и какими-нибудь значениями.
2. Выводит значение переменной title внутри тега h1, а значение переменной content внутри тега div.

Показать решение

", $title, ""; echo "

", $content, "
"; ?>

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

Переменные в 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() мы можем уничтожить переменную: