Данные PHP
Скалярные переменные
Переменные являются временным местом хранения, используемым для представления значений в сценарии PHP. В PHP имеется два основных типа переменных: скалярные и массивы. Скалярные переменные содержат только одно значение в данный момент времени, а переменные массивы — список значений. Переменные массивы обсуждаются в следующем разделе. Скалярные переменные PHP содержат значения следующих типов.
Целые – целые числа или числа без десятичной точки (1, 999, 325812841).
Числа с плавающей точкой – числа, содержащие десятичную точку (1.11, 2.5, .44).
Строки – текстовая или числовая информация. Строковые данные всегда определяются с помощью кавычек ("Hello World", "478-477-5555").
Булевы значения – используются для значений true (истина) или false (ложь).
Имена переменных PHP всех типов начинаются со знака "$". Имена переменных могут содержать буквы, числа, и символ подчеркивания ( _ ); они не могут, однако, начинаться с цифры. В PHP имена переменных различают регистр символов. Следующие переменные в PHP интерпретируются как две различные переменные.
$myvar $MYVAR
Допустимые имена переменных:
$myvar $F_Name $address1 $my_string_variable
Недопустимые имена переменных:
Myvar $1stvar $&62##
Скалярным переменным PHP присваивают значения в следующем формате:
$username = "jdoe" $first_name = "John" $Last_Name = "Doe"
Переменная username содержит значение jdoe.
Вывод переменных
Следующий фрагмент кода демонстрирует, как объявить скалярную переменную, присвоить скалярной переменной значение и вывести результаты в окне браузера:
<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Страница Web</title> </head> <body> <p> <?php $string_var = "Моя программа PHP"; $integer_var = 500; $float_var = 2.25; echo $string_var; echo $integer_var; echo $float_var; ?> </p> </body> </html>
Переменные массивы PHP можно создавать и присваивать им значения с помощью конструкции array() или явным образом.
Переменную можно соединять с другими переменными или тегами XHTML с помощью оператора PHP — точки ( .). В предыдущем блоке кода значения переменных выводятся в следующем формате:
Моя программа PHP5002.25
Чтобы создать возврат каретки или перенос строки, можно присоединить тег XHTML <br/> в конце каждой переменной:
<?php $string_var = "My PHP program" . "<br/>"; $integer_var = 500 . "<br/>"; $float_var = 2.25; echo $string_var; echo $integer_var; echo $float_var; ?>
Теперь после каждой переменной вставляется перенос строки, что приводит к выводу каждого значения на отдельной строке.
My PHP Program 500 2.25
Соединение переменных
Оператор точки можно использовать также для соединения строк и переменных:
Сообщение — The user's name is John Doe — выводится в окне браузера.
Строка "The user's name is " соединяется со значением $fname (John), за которым следует пробел " ", и значением $lname (Doe).
<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>A Web Page</title> </head> <body> <p> <?php $fname = "John"; $lname = "Doe"; echo "The user's name is " . $fname ." ". $lname; ?> </p> </body> </html>
The user's name is John Doe
Интерполяция
PHP поддерживает также процесс, называемый интерполяцией – замену переменной в строке ее содержимым. Вместо соединения переменных и литералов, их можно объединять внутри двойных кавычек (""). Интерполяция является свойством только двойных кавычек. Переменные и литералы нельзя объединить внутри одиночных кавычек. При использовании двойных кавычек значение переменной выводится вместе с литералом. При использовании одиночных кавычек выводится "буквально" имя переменной вместе с остальной строкой. Следующий пример иллюстрирует свойство интерполяции PHP.
<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>A Web Page</title> </head> <body> <p> <?php $fname = "John"; $lname = "Doe"; echo "The user's name is $fname $lname"; ?> </p> </body> </html>
Этот код создает такой же вывод, как и предыдущий пример. Здесь переменные объединяются с помощью литеральной строки, заключенной в двойные кавычки. Соединение (конкатенация) не требуется.
Форматирование вывода валюты
Кроме вывода стандартного текста можно применять для вывода форматированного текста вариант конструкции print с именем sprintf. Оператор требует задания форматирующей строки и значения для форматирования.
sprintf("%01.2f", $var) - выводит значение '$var' как валюту.
Оператор sprintf показан ниже:
<!DOCTYPE html PUBLIC "-//W3C//DTD/XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>A Web Page</title> </head> <body> <p> <?php $amount = 35; $tax = 2.50; $total = $amount + $tax; echo "$" . sprintf("%01.2f", $total); ?> </p> </body> </html>
Вывод валюты показан ниже:
$37.50