Опубликован: 08.05.2007 | Доступ: свободный | Студентов: 12881 / 3013 | Оценка: 4.13 / 3.77 | Длительность: 12:58:00
Лекция 3:

Данные PHP

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >

Строки PHP

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

В PHP строковый литерал можно представлять тремя способами.

строки в одиночных кавычках

строки в двойных кавычках

строки в синтаксисе heredoc

В этом учебнике представлено использование строк в одиночных и двойных кавычках. Синтаксис heredoc не рассматривается. Подробная информация об этом синтаксисе имеется в документации PHP.

Строки в одиночных кавычках

Одиночные кавычки предоставляют самый простой метод для работы со строками. При использовании этого метода строки заключаются в одиночные кавычки (' '). Если одиночные кавычки требуются как часть строки, они должны быть экранированы символом обратной косой черты ("\"). Хотя одиночные кавычки предоставляют простой способ работы со строками, одиночные кавычки не поддерживают применение интерполяции (см. "раздел 3-1" , Скалярные переменные). Примеры ниже иллюстрируют использование одиночных кавычек.

<?php

//A literal string displayed in the browser window

echo 'PHP was developed in 1994 by Rasmus Lerdorf';

//A literal string assigned to a variable

$string = 'Since its development, PHP has become a popular scripting language.';

echo $string;

//escaping single quotes

echo 'The array contains the values \'2,5,3,4\'.';

//invalid attempt to expand a variable inside of a single quote string

$name = 'John Smith';
echo 'The user's name is $name';

?>
PHP was developed in 1994 by Rasmus Lerdorf
Since its development, PHP has become a popular scripting language.
The array contains the values '2,5,3,4'.
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';'

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

Строки в двойных кавычках

Строки PHP можно выводить также с помощью двойных кавычек (""). Если строки PHP помещаются в двойные кавычки, то можно применять интерполяцию. Для строк в двойных кавычках PHP поддерживает также больше экранированных символов. Эти символы представлены в таблице ниже.

Символ Описание
\n перенос строки
\r возврат каретки
\t горизонтальная табуляция
\\ обратная косая черта
\$ знак доллара
\" двойная кавычка
<?php

echo "PHP is supported by many operating systems including Windows and Linux.";

$name = "John";

echo "The user's name is $name.";

$fruits = array('grapes', 'peaches', 'strawberries');

echo "My favorite fruit is $fruits[0].";

?>
PHP is supported by many operating systems including Windows and Linux.
The user's name is John.
My favorite fruit is grapes.

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

Функции для работы со строками

Система PHP содержит ряд функций для работы со строками. Следующий список содержит некоторые из наиболее распространенных строковых функций.

strlen(string) – определяет длину строки string.

ltrim(string) – удаляет символы-разделители в начале строки string.

rtrim(string) – удаляет символы-разделители в конце строки string.

strpbrk(string, char) – ищет в строке string символ char. Возвращает false или строку, начинающуюся с найденного символа.

strtoupper(string) – преобразует строку в верхний регистр.

strtolower(string) – преобразует строку в нижний регистр.

strrev(string) – возвращает строку string в обратном порядке.

eregi(pattern, subject) – выполняет независимое от регистра символов сравнение с выражением. В строке subject происходит поиск регулярного выражения, заданного строкой pattern.

Следующий блок кода демонстрирует, как использовать строковые функции PHP.

<?php

$string = "Hello World";
$another_string = "Welcome to PHP";

echo strlen($string);
echo strtoupper($another_string);
echo strrev($another_string);
echo strpbrk($string, "W");

?>
11
WELCOME TO PHP
PHP ot emocleW
World

Первая строка выводит длину строки "Hello World", равную 11. Затем строка "Welcome to PHP" преобразуется в верхний регистр и выводится в окне браузера. Эта строка используется также с функцией strrev для изменения порядка символов строки на обратный. Наконец, в строке происходит поиск символа "W". Так как первое появление символа происходит в тексте "World", выводится эта строка.

Функции даты и времени

Базовые функции PHP для даты и времени позволяют форматировать отметку времени для применения в запросах базы данных или просто для вывода даты и времени в окне браузера. PHP включает следующие функции даты и времени:

date(format) – возвращает текущее время сервера, форматированное согласно заданному множеству параметров format.

checkdate(month, day, year) – проверяет заданную дату. Успешная проверка означает, что год year находится между 0 и 32767, месяц month – между 1 и 12, и правильное количество дней каждого месяца.

time() – возвращает текущее время сервера, измеренное в секундах, начиная с 1 января 1970 г.

Следующая таблица содержит допустимые форматы date():

a выводит "am" или "pm"
A выводит "AM" или "PM"
h часы в 12-часовом формате (01 – 12)
H часы в 24-часовом формате (00 – 23)
g часы в 12-часовом формате без ведущего нуля (1 – 12)
G часы в 24-часовом формате без ведущего нуля (0 – 23)
i минуты (00 – 59)
s секунды (00 – 59)
d день месяца двумя цифрами (01 – 31)
D день недели текстом (Mon – Sun)
l день недели длинным текстом (Monday – Sunday)
F месяц длинным текстом (January – December)
n месяц двумя цифрами (1 – 12)
Y год четырьмя цифрами (2005)
y год двумя цифрами (05)
S английские порядковые суффиксы (th, nd, st)

Следующая страница использует функцию PHP date() для определения и вывода текущего времени сервера и даты:

<?php
echo "<span style='font:10pt arial'>Today is ".date('l F j Y')."</span>";
echo "<br/>";
echo "<span style='font:10pt arial'>The current time is:</span>".
date('g:i:s a');
?>

Формат даты/времени, выводимый с помощью функции date(), зависит от типов параметров формата, подставленных в функцию. Параметры функции date() можно объединять, разделяя запятой ",", двоеточием ":" или другими знаками пунктуации, в зависимости от желаемого формата вывода. Все параметры, однако, должны быть заключены в одиночные кавычки. В примере выше время выводится с помощью параметров формата времени g, i, s, и a. Двоеточия и пробелы также вставляют для разделения часов, минут, секунд и признаков am/pm.

Функции checkdate() и time() обычно используются в процессах принятия решений. Поэтому они подробнее будут рассмотрены в дальнейшем.

< Лекция 2 || Лекция 3: 1234 || Лекция 4 >
Максим Матросов
Максим Матросов
Наталья Джабасова
Наталья Джабасова