Функции Язык программирования PHP

session_write_close

(PHP 4 >= 4.0.4)

session_write_close - записывает данные сессии в конце сессии.

Описание

void session_write_close (void)

Заканчивает текущую сессию и сохраняет данные сессии.

Данные сессии обычно сохраняются после окончания работы вашего скрипта без необходимости вызова session_write_close(), но, поскольку данные сессии блокируются для предотвращения конкурирующей записи, только один скрипт может работать с сессией в данный момент времени. При использовании наборов фрэймов/framesets вместе с сессией будете загружать фрэймы один за другим из-за этого блокирования. Вы можете сократить время, необходимое для загрузки всех фрэймов, заканчивая сессию сразу после выполнения всех изменений переменных сессии.


Назад Оглавление Вперёд
session_unset Вверх Функции Shared Memory

Повторение

Когда субпатэрн в скобках квантифицирован минимальным количеством повторений, которое больше 1, или имеет ограничение максимума, для откомпилированного патэрна требуется больше места, пропорционально размеру минимума или максимума.

Если патэрн начинается с .* или с .{0,} и установлена опция PCRE_DOTALL (эквивалентная Perl'овской /s), разрешая, таким образом совпадение . с символами новой строки, то патэрн неявно заякоривается, поскольку всё, что идёт следом, будет испытываться относительно каждой символьной позиции в строке-субъекте, поэтому после первой нет другой позиции для возобновления попыток найти полное совпадение.
PCRE рассматривает такой патэрн так, как если бы ему предшествовало \A. Когда известно, что строка-субъект не содержит символов новой строки, предпочтительнее установить PCRE_DOTALL, если патэрн начинается с  .*, чтобы получить эту оптимизацию, или, альтернативно, использовать ^ для явного обозначения заякоривания.

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

(tweedle[dume]{3}\s*)+

совпадает с "tweedledum tweedledee", значением захваченной подстроки будет "tweedledee". Однако, если имеются вложенные захватывающие субпатэрны, соответствующие захваченные значения могут быть установлены в предыдущих итерациях. Например, после того как

/(a|(b))+/

совпадёт с "aba", значением второй захваченной подстроки будет "b".