Приоритет операций в PHP
В табл. 4.6.1 приведены приоритеты операций в PHP в порядке увеличения приоритета.
Табл. 4.6.1. Приоритеты операций в PHP (в порядке увеличения приоритета)
Операции |
, |
or |
xor |
and |
= += -= *= /=.= %= &= |= ^= ~= <<= >>= |
?: |
|| |
&& |
| |
^ |
& |
==!= ===!== |
< <= > >= |
<< >> |
+ -. |
* / % |
! ~ (int) (float) (string) (array) (object) @ |
++ -- |
[ |
new |
Для вывода в Web-страницу и в режиме интерпретатора в PHP используется один из операторов
echo аргумент-1, аргумент-2, …;
или
print аргумент;
Аргументами в операторах echo и print могут быть переменные, выражения, а также значения скалярных переменных. Перед выводом в Web-страницу аргументы вычисляются и преобразуются в строковое представление.
Пример 4.6.51. Использование операторов echo и print:
1. В результате выполнения операторов:
$a = 5;
echo "\nx=", $a + 3, " y=", 3.5," bool=", true;
будет выведена строка
2. В результате выполнения операторов:
$x = 7;
$y = -2;
print "x=".$x." y=".$y;
будет выведена строка
Элементы массива можно выводить в цикле, однако часто более удобно использовать функцию
|
|
print_r(выражение [, возврат ])
Первый параметр может быть как скалярным выражением, так и массивом. Если второй параметр не задан или равен false, функция выводит результат на экран. Если второй параметр равен true, функция ничего не выводит на экран, а использует результат как возвращаемое значение.
Пример 4.6.52. Вывод элементов массива с помощью функции print_r():
Следующий фрагмент программы выводит на экран элементы массива:
$a2 = array(5, 12, 32);
print "\n";
print_r ($a2);
Функция выведет содержимое массива в следующем виде:
В режиме интерпретатора ввод данных выполняется с помощью следующего предложения:
имя-переменной = trim(fgets(STDIN));
Если это предложение встречается в сценарии, интерпретатор приостанавливает работу и ждет ввода с клавиатуры. После ввода строки и нажатия клавиши Return (Enter), переменная с именем имя-переменной получает значение введенной строки, и сценарий продолжает выполнение. Функция trim()«обрезает» пробельные символы в начале и в конце строки и необходима, чтобы удалить в конце вводимой строки символ перехода на новую строку, который добавляется в строку при нажатии на клавишу Return (Enter).
Пример 4.6.53. Ввод данных в режиме интерпретатора:
Следующий фрагмент сценария вводит и потом выводит значение переменной $str1:
echo "\nEnter \$str1: ";
$str1 = trim(fgets(STDIN));
echo "\n\$str1='", $str1, "'";
Вывод этого фрагмента может иметь следующий вид:
Данные в сценарий можно ввести, используя параметры при запуске интерпретатора. Первым параметром всегда является имя файла, а второй, третий и следующие параметры – это параметры, вводимые в командной строке. Разделителями между параметрами являются один или несколько пробелов. Если параметр содержит пробел или пробелы он должен быть заключен в двойные кавычки.
|
|
Количество введенных параметров в сценарии доступно как значение переменной $argc, а введенные параметры – как элементы массива $argv. Нулевой элемент массива – $argv[0] содержит имя файла сценария, первый элемент $argv[1] – значение первого параметра (если он задан) и т.д.
Пример 4.6.54. Ввод данных с использованием параметров:
В следующем фрагменте сценария выводится количество введенных при запуске сценария параметров, имя файла сценария и значения введенных параметров:
echo "\nNumber of entered parameters: ", $argc - 1;
echo "\nFile name: '", $argv[0], "'";
$x = (int)$argv[1];
$str1 = $argv[2];
echo "\n\$x=", $x, " \$str1='", $str1, "'";
Переменная $x в сценарии трактуется как число, а поскольку вводимый параметр имеет строковое значение, его необходимо явно преобразовать в числовое значение с помощью оператора (int).
Пусть командная строка вызова интерпретатора имеет следующий вид:
D:\TestPHP>php Example4-6-54.php 45 "String 1"
Тогда фрагмент сценария выведет следующие строки: