Виртуальный Брест
Главная Портал Форум Рассылки Контакт Для клиентов Статьи

Запчасти для телефонов и ноутбуков
Запчасти для телефонов и ноутбуков
 
Геологические работы
Геологические работы
 
Экскурсии в Европу, из Бреста!
Экскурсии в Европу, из Бреста!
 

Виртуальный хостинг - дом для вашего сайта - лучшее предложение в Бресте!


Полный список глав книги

Вывод на экран и переменные в РНР


РНР очень легко позволяет организовать вывод текста на экран. Рассмотрим пример скрипта:

<?php

echo “Привет, мир!”;

?>

Строго говоря, совсем не обязательно открывающий тег PHP писать именно так: «<?php». Вполне допустим вариант «<?», и именно им я и пользуюсь, если честно. Хотя это и не по стандарту. Но, если стандарт уже давно поддерживает оба варианта, почему бы второму тоже не стать стандартом? Короче, выбирайте то, что Вам больше всего нравится.

Этот скрипт может быть расположен в любом месте HTML-документа, и сам по себе он не несет ничего полезного, так как только выводит на экран фразу “Привет, мир!”. Но таким образом мы знакомимся с одной из наиболее распространенных команд РНР – вывод информации на экран пользователя. Для того, что бы придать нашему скрипту полезные функции, давайте познакомимся с переменными.

Переменная характеризуется именем, типом и значением. Имя может быть любым и включать в себя цифры, буквы английского алфавита, и разрешенные символы (например, символ подчеркивания или тире). По типу переменные делятся на  целые, с плавающей запятой и символьные. Значение в соответствии с типом может быть практически любым. Например – переменная a = 5. Это говорит нам о том, что имя у переменной – а, тип – целочисленный, значение – 5. Вот еще примеры имен и значений:

<?php

$name = 6;

$h12   = 4.89;

$file_type = “path/index.phtml”;

$os = “РНР для всех!”;

?>

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

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

Тут есть одна особенность, о которой я уже упоминал выше. Если мы попытаемся использовать неинициализированную переменную в работе, это посчитается интерпретатором за ошибку. Но в принципе, ошибкой это не является, так как переменная тут же будет проинициализирована и ее значение будет приравнено к нулю или пустой строке в зависимости от типа. Просто учитывайте этот факт.

 

Вторая строчка кода присваивает переменной $h12 значение 4.89, которое является значением с плавающей запятой. Третья и четвертая строчки кода присваивают своим переменным значения, являющиеся символьными строками. Все, что заключено в кавычки (включая цифры), будет интерпретировано как символьная строка. Если переменные не определены ранее, но используются, из значение принимается равным либо нулю, либо пустой строке в зависимости от типа.

Однако это справедливо, только если уровень обработки ошибок не выставлен на максимальный контроль. Если же это именно так, обращение к несуществующей переменной вызовет сообщение об ошибке, а программа как ни в чем не бывало будет работать дальше. Что бы подавить такое сообщение об ошибке, можно заранее описать все использующиеся в программе переменные, присвоим им значение «ноль» или «пустая строка». Второй вариант подавления ошибки – перед именем переменной поставить символ «@» (собака). Вот так: @$name; if (@$name) и т.д. Этот хороший символ играет роль подавителя сообщения об ошибке. Во как. Или настроить конфигурационный файл php.ini так, как описано выше.

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

<?php

$a = 5;

$b = 3;

$c = 4;

$d = $a+$b-$c;

echo $d;

?>

Результат работы скрипта – вывод на экран цифры 4. Поддерживаются все арифметические операции и функции, многоуровневые скобки, логические операции, операции увеличения или уменьшения на единицу и многое другое.

Кроме того, очень просто и естественно организуется сравнение: если – то – иначе.  Для этого в РНР применяется конструкция:

 if ( ) { } else { }

Есть различные варианты синтаксиса этого оператора, но этот – основной, и самый логичный из всех. Вот его расшифровка в переводе на русский (а точнее – на алгоритмический) язык:

(если) if (условие) (то) { выполняется то, что заключено тут в кавычки } (иначе) else { выполняется то, что заключено тут в кавычки }

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

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

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

Тут скрыта одна интересная особенность обработчика ошибок. Если Вы где-то забыли закрыть кавычку в начале кода, номер строки с ошибкой интерпретатор выдаст самый больший, что присутствует в файле с кодом. Бесполезно там искать неточность – ищите лучше там, где в последний раз вставляли условный оператор. Это является признаком того, что не закрыта или поставлена лишняя кавычка. Бывает, найти такую потерявшуюся кавычку очень сложно в большом скрипте, для этого заранее заботьтесь об удобочитаемости скрипта. Это сэкономит не один час отладки в дальнейшем.

Рассмотрим несложный пример:

<?php

$a = 5;

$b = 9;

if ( $a == $b ) { echo $b-$a; } else { echo $b.$a; }

?>

При сравнении на истину применяется два знака равенства для того, чтобы интерпретатор мог без труда отличить сравнение от присваивания. Этот способ пришел в PHP из других языков программирования, и он достаточно известен в кругах программистов, так что ничего необычного тут нет.

Опять же – очень частая ошибка, программа не будет работать правильно, если Вы забыли поставить двойной знак равенства. И обратите внимание, интерпретатор даже не подумает предупредить Вас об этом! Для него это вполне приемлемая операция приравнивания и одновременно проверки условия на исину-ложь. Таких скрытых особенностей в PHP много и по мере продвижения мы будем с ними знакомиться. Кстати, этот приемчик с успехом можно применять для своей пользы, советую запомнить и взять на вооружение.

Результат работы вышеприведенного скрипта – 95, т.к. $a не равно $b, а команда echo $b.$a; (между переменными стоит точка, а не знак арифметической операции) выводит подряд указанные переменные. Таким образом, точка служит для склеивания строк или переменных.

Неравенство (ложь) обозначается символами !=, допустимы все остальные арифметические, логические символы и операторы (например – or, and, >, <= и т.д.).

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

Поддерживается одновременное присваивание одного значения нескольким переменным: $a = $b = 4; Обе переменных будут равны четырем. Вот еще несколько примеров нестандартных арифметических операций в РНР:

<?php

$b = $a = 5;  /* присваиваем значения переменным $a и $b */
$c = $a++;  /* последующее увеличение, присваиваем $c начальное значение $a (5)*/
$e = $d = ++$b; /* предварительное увеличение, присваиваем $d и $e увеличенное значение $b (6) */   /* тут и $d и $e равны 6 */
$f = double($d++); /* присвоить удвоенное значение $d до его увеличения, то есть 2*6 = 12, переменной $f */
$g = double(++$e);    /* присвоить удвоенное значение $e после его увеличения, то есть 2*7 = 14, переменной g */
$h = $g += 10;    /* сначала увеличить значение $g на 10, что дает в результате 24, а затем присвоить это значение переменной $h, что также дает 24 */

?>

Читать еще...



Чак Муссиано, Билл Кеннеди

HTML и XHTML. Подробное руководство
"HTML и XHTML. Подробное руководство" - самая полная и современная книга по языкам HTML и XHTML, разъясняющая работу и взаимодействие каждого их элемента. Она удачно сочетает в...

Николай Прохоренок

Python 3 и PyQt. Разработка приложений
Описан базовый синтаксис языка Python: типы данных, операторы, условия, циклы, регулярные выражения, встроенные функции, объектно-ориентированное программирование, работа...

С. Холзнер

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

Мэтт Зандстра

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

    Информация

Главная - переход на начало
Тарифы на Российский хостинг
Правила - что можно а что нет
Заказ - сделайте это сейчас
Выбор домена - найди свое имя
Регистрация домена - купить
Оплата - варианты для всех
Панель управления Россия
Панель управления Беларусь
Вопросы и ответы - информация
Разработка сайтов - сопровождение
Виртуальный Брест - портал
Контакт - обратная связь
Наш форум - пообщаемся?
10% off Papa Johns Coupon
Список доменов
в которых доступна бесплатная регистрация имен при покупке хостинга, а так же открытие поч- тового ящика:

Новости Бреста:

Второй порыв теплосетей в Бресте - двенадцать многоэтажных домов и один детский сад остались без тепла
Почти тонну мёда задержали налоговики при проверке в Бресте
Зарплата в конвертах в Бресте - видео
Трое жителей Кавказа в "поисках работы" забрались прямо в лес в пограничную зону
Профилактика квартирных краж - важно
Современный животноводческий комплекс на 1500 голов строится в СПК "Королевский" Кобринского района - фото
Результаты проходящей на территории Брестской области акции "Не упусти свой шанс"
Осенний месячник по наведению порядка на земле проходит на Брестчине - важно
В Лунинецком районе в водоеме нашли автомобиль с телом внутри
ГАИ: брестчанин решил стать маршрутчиком и в пьяном состоянии вез горожан

© Виртуальный Брест 2001 - 2009 Автор проекта: Андрей Кухарчик Дизайн: Partgraphic