Skip to content

findli/tz1

Repository files navigation

Тестовое задание:

  1. Есть массив BB кодов в текстовом представлении Преобразовать его в 2 PHP массива, где ключ массива – название BB кода, значение в одном массиве это данные BB кода, а в другом это описание BB кода
  • Ограничение – вложенность BB кодов не допускается, т.е не надо это учитывать в обработке. Коды “размазаны” по тексту и не следуют друг за другом. Описание BB кода начинается после символа “:”. Описание может отсутствовать. Закрывающий BB код – обязателен.

Формат BB код: [ BB :ОПИСАНИЕ]ДАННЫЕ[/ BB ]

Пример для проверки кода: 980923ылвоащшываг902к3ыов [resolve_urls]f1;ddd mmm[/resolve_urls]ыва.юбьгш [banned_urls]f1;ddd;mmm[/banned_urls][own_domain]true[/own_domain] [ban_file]f1;ddd;mmm[/ban_file] [ban_mime]f1;ddd;mmm[/ban_mime] [iconv_file:WINDOWS-1251=>UTF-8]f1;ddd;mmm[/iconv_file] [iconv_file:KOI8-R=>UTF-8]f1;ddd;mmm[/iconv_file] [iconv_mime:WINDOWS-1251=>UTF-8]f1; ddd; mmm [/iconv_mime]sd908f90 [replace_file]inF===ourF;ddd===ppp;mmm===rrr[/replace_file] [add_file:FILE]DATA[/add_file] dsiu90843 [post:URL_LOCATION]DATA

[/post] ,dfkdjfkdjf

  1. Есть текстовые данные в следующем формате: url: DATA1 get: DATA2 post: DATA3

Эти данные необходимо преобразовать в PHP массив, где ключ это get , url , post , а значение это DA ТА. Последовательность ключей – любая. Как только встретился хоть один ключ в тексте, то весь последующий текст необходимо преобразовывать в PHP массив:

Решение задачи должно быть выстроено на основе использование регулярных выражений( perl -совместимых)

Пример для проверки: dfkjsfkj dskljsdlfm sdfkjdsf sfsd get asdkljasd,laosid post: url: oiwerweroi;get:787wesdjhfsdfnxczp

  1. Есть таблица в которой храниться дерево: CREATE TABLE pages ( pid int(10) UNSIGNED NOT NULL AUTO_INCREMENT, title varchar(255) NOT NULL, name varchar(255) default NULL, parent int(10) UNSIGNED default NULL,

                 created int(10) NOT NULL,
                 changed int(10) NOT NULL,
                 PRIMARY KEY ( pid )) TYPE = MyISAM
    

Описание необходимых полей(остальные опускаем) id - уникальный идентификатор узла дерева. Ограничения: Данное поле заполняется автоматически. name - Название узла дерева. Ограничения: Данное поле не обязательно к заполнению. parent - Идентификатор родительского узла(эта же таблица). Самый верхний узел имеет идентификатор NULL , т.е. тот который не имеет родителей. Ограничение: Данное поле не обязательно для заполнения и связано с полем id в этой же таблице.

Необходимо написать код который на основе это таблицы построет дерево страниц в виде: UUU ->MM ->MM UU ->N ->XX ->DD ->P DDD и т.д.

  1. Выбрать из ране приведенной таблице все узлы которые не имеют родителей, но при этом содержать не менее 3 прямых потомков. (реализуется через SQL запрос)

  2. Выбрать из ране приведенной таблице все узлы которые имеют только двух старших родителей, но при этом не имеют потомков. (реализуется через SQL запрос)

  3. Найти повторяющееся числа в массиве с числами в диапазоне от 100 000 до 1 500 000. Количество повторяющихся чисел - 1-но, элементов в массиве - не меньше 1 000 000. Решить задачу на PHP минимальным использованием процессорного времени.

  4. Удобно и наглядно представить результаты тестового задания, результат буду смотреть на последнем Open Server. Жду в реализации демострации навыков ООП и MVC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages