session_write_close(PHP 4 >= 4.0.4) session_write_close - записывает данные сессии в конце сессии. Описаниеvoid session_write_close (void) Заканчивает текущую сессию и сохраняет данные сессии. Данные сессии обычно сохраняются после окончания работы вашего скрипта без необходимости вызова session_write_close(), но, поскольку данные сессии блокируются для предотвращения конкурирующей записи, только один скрипт может работать с сессией в данный момент времени. При использовании наборов фрэймов/framesets вместе с сессией будете загружать фрэймы один за другим из-за этого блокирования. Вы можете сократить время, необходимое для загрузки всех фрэймов, заканчивая сессию сразу после выполнения всех изменений переменных сессии. |
||||||||||
|
||||||||||
Когда субпатэрн в скобках квантифицирован минимальным количеством повторений, которое больше 1, или имеет ограничение максимума, для откомпилированного патэрна требуется больше места, пропорционально размеру минимума или максимума.
Если патэрн начинается с .* или с .{0,} и установлена опция PCRE_DOTALL (эквивалентная
Perl'овской /s), разрешая, таким образом совпадение . с символами новой строки,
то патэрн неявно заякоривается, поскольку всё, что идёт следом, будет испытываться
относительно каждой символьной позиции в строке-субъекте, поэтому после первой
нет другой позиции для возобновления попыток найти полное совпадение.
PCRE рассматривает такой патэрн так, как если бы ему предшествовало \A. Когда
известно, что строка-субъект не содержит символов новой строки, предпочтительнее
установить PCRE_DOTALL, если патэрн начинается с .*, чтобы получить эту
оптимизацию, или, альтернативно, использовать ^ для явного обозначения заякоривания.
Когда захватывающий субпатэрн повторяется, захваченным значением является подстрока,
которая совпадает с последней итерацией. Например, после того как
(tweedle[dume]{3}\s*)+
совпадает с "tweedledum tweedledee", значением захваченной подстроки будет "tweedledee".
Однако, если имеются вложенные захватывающие субпатэрны, соответствующие захваченные
значения могут быть установлены в предыдущих итерациях. Например, после того
как
/(a|(b))+/
совпадёт с "aba", значением второй захваченной подстроки будет "b".
| |