Приднестровская поддержка XOOPS
Подстановка значений переменных. Запуск внешних программ
Оператор . (точка) производит конкатенацию строк, то есть соединяет их в одну строку:
$Z = "Строка1" . "Строка2";
// Переменная $Z будет содержать значение "Строка1Строка2"
Очень часто необходимо сформировать строку, состоящую из имени переменной и ее значения. Если написать
$X = "Строка1";
$Z = "Значение равно $X";
то переменная $Z будет содержать значение "Значение равно Строка1", а если написать так:
$X = "Строка1";
$Z = 'Значение равно $X';
то переменная $Z будет содержать значение "Значение равно $X". Помните, что строка в кавычках и строка в апострофах вернет разные результаты.
В последнем случае, для того чтобы получить значение переменной, можно воспользоваться операцией конкатенации строк:
$X = "Строка1";
$Z = 'Значение равно ' . $X;
Рассмотрим еще один пример. Предположим, нужно объединить два слова в одно. Одно из слов задано с помощью переменной. Если написать
$X = "авто";
$Z = "$Xтранспорт"; // $Z = "" или Notice: Undefined variable
то переменная $Z будет содержать пустую строку, так как переменная $Xтранспорт не определена. В этом случае можно воспользоваться следующими способами:
□ использовать конкатенацию строк:
$X = "авто";
$Z = $X . "транспорт"; // $Z = "автотранспорт"
□ указать имя переменной в фигурных скобках, так:
$X = "авто";
$Z = "${X}транспорт"; // $Z = "автотранспорт"
или так:
$X = "авто";
$Z = "{$X}транспорт"; // $Z = "автотранспорт"
К любому символу строки можно обратиться как к элементу массива. Достаточно указать его индекс в квадратных скобках. Индексация начинается с нуля:
$X = "Привет";
echo $X[0]; // Выведет: П
Если в переменную нужно записать большой объем текста, это можно сделать способом, продемонстрированным в листинге 10.
Листинг 10. Запись в переменную большого объема текста
<?php
$Y=<<<Metka1
<html>
<head>
<title>Строки</title>
</head>
<body>
Metka1;
echo $Y;
$X = "Привет";
echo $X[0]; // выведет "П"
?>
</body>
</html>
В данном примере многострочный текст располагается между метками (Metka1):
$Y=<<<Metka1
...
Metka1;
Название метки может быть любым. Вторая (закрывающая) метка должна быть написана с начала строки, и после нее должна стоять точка с запятой.
Если содержимое строки заключить в обратные кавычки, то это позволит запустить внешнюю программу и присвоить переменной результат ее работы (листинг 11).
Листинг 11. Запуск внешней программы
<?php
$X = `dir`;
echo '<textarea cols="70" rows="30">';
echo convert_cyr_string($X, "d", "w");
echo '</textarea>';
?>
Данный код выведет содержимое папки C:\Apache2\htdocs. При выводе используется кодировка Dos (кодовая страница 866), поэтому русские буквы будут искажены. Чтобы избежать этого, мы преобразуем кодировку с помощью функции convert_cyr_string ().
Отправитель | Нити |
---|
3 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 3 далее... |