Сериализация впервые возникла в объектно-ориентированных библиотеках (первой из которых была MFC), потом сериализация стала появляться в объектно-ориентированных языках (Java). Идея сериализации заключается в том, что объекты и массивы очень сложны по своей структуре и на сохранение путем перебора каждого элемента требуется значительный объем кода - самым простым решением является сохранение таких структур в виде единой закодированной последовательности - байт-коде. В РНР функции сериализации упаковывают данные не в виде байт-кода, а в виде строки.
В листинге 4.9 продемонстрировано, как при помощи обратных кавычек можно извлечь содержимое текущего каталога. Извлеките из полученной строки имена всех файлов и каталогов и разместите их в массивах $fiies и $dirs соответственно. Выведите содержимое этих массивов, предварительно отсортировав их.
Создайте массив из 10 элементов, значения которых равны факториалу
индекса массива (о=>О!, 1=>и, 2=>2!,..., 9=>9i). Преобразуйте каждый
элемент массива в строку из 20 символов таким образом, чтобы цифры
были выровнены по левому краю, и выведите содержимое массива в
окно браузера.
Создайте функцию, которая, принимая строку с HTML-страницей, воз
вращала бы ее название, заключенное между тегами
и .
Разбейте строку со временем в формате СУБД MySQL "2004-H-26
14:56:08" на подстроки, содержащие год, месяц, число, часы, минуты и
секунды с выводом их в окно браузера.
Реализуйте функцию, принимающую дату в формате "2004-11-26" и
возвращающую в формате "26.ii.2004".
Реализуйте скрипт замены тегов [code] и [/code] на и ,
соответственно, таким образом, чтобы замена происходила лишь в том
случае, если каждому открывающему тегу соответствует закрывающий.
Преобразуйте скрипт в листинге 4.31 таким образом, чтобы значения
параметров idforum, idtheme и id_post в строке запроса попадали в
переменные $ forum, $theme и $post, соответственно.
Создайте аналог функции wordwrap (), не прибегая к этой функции.
В РНР имеется функция strrevo, принимающая в качестве параметра
строку и возвращающая строку, в которой порядок следования симво
лов изменен на обратный. Попробуйте реализовать такую функцию са
мостоятельно.