РНР 5 в подлиннике

Страница 164 из 554


Гпава 15. Строковые функции

333

Сброс буфера вывода

void flush ()

Эта функция имеет очень и очень отдаленное отношение к работе со строками, но она еще дальше отстоит от других функций. Именно поэтому мы включили ее в данную главу. Начнем издалека: обычно при использовании echo данные не прямо сразу отправляются клиенту, а накапливаются в специальном буфере, чтобы потом транспортироваться большой "пачкой". Так получается быстрее. Однако иногда бывает нужно досрочно отправить все данные из буфера пользователю, например, если вы что-то выводите в реальном времени (так зачастую работают чаты). Вот тут-то вам и поможет функция flusho, которая отправляет содержимое буфера echo в браузер пользователя.

Резюме

В данной главе мы рассмотрели большинство основных функций РНР для работы со строками. Мы научились производить поиск и замену (самая популярная операция в Web-программировании), преобразовывать тексты в разные кодировки, а также использовать локаль (локальные настройки) для корректной работы в Unix. В главе также описаны функции для форматирования больших блоков текста: удаление и "экранирование" тегов, разбиение текста на строки, получение хэш-кода.

ГЛАВА 1 6

Работа с массивами

Листинги данной главы можно найти в подкаталоге funcarr.

В части ///книги мы уже рассматривали многие возможности, которые предоставляет РНР для работы с ассоциативными массивами. В их число входят различные механизмы перебора, получение числа элементов, оперирование ключами и значениями и т. д.

Однако здесь перечислено далеко не все, что можно делать с массивами в РНР. Язык (особенно версий 4 и 5) содержит множество других, иногда крайне полезных, функций. В этой главе мы рассмотрим большинство из них.

Лексикографическая и числовая сортировки

Так как в РНР основными примитивными типами являются число и строка, существуют два метода сортировки:

□ лексикографическое упорядочивание: сортировка по алфавиту. Именно так сортируются слова в толковом или иностранном словаре;

□ числовое упорядочивание: сортировка по возрастанию (или убыванию).

С точки зрения лексикографической сортировки последовательность строк "1", "10", "2" корректно упорядочена по возрастанию, в то время как при числовой сортировке порядок должен быть, конечно же, таким: 1, 2, 10.

По умолчанию все функции сортировки, имеющиеся в РНР, выбирают один из методов самостоятельно. Если сравниваемые значения представляют собой числа (или строки, содержащие числа), то они сравниваются в числовом контексте, в противном случае — в лексикографическом. Тем не менее существует способ явно указать, что тот или иной массив следует сортировать конкретным методом. Для этого предназначен необязательный параметр $sort_fiag (далее мы его все время будем приводить в заголовках функций), который может принимать следующие значения:

□ sort_regular — автоматический выбор метода;

□ sort_numeric — числовая сортировка;

□ sort_string — лексикографическая сортировка. По умолчанию подразумевается sort_regular.




  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006