-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathЗадание.txt
82 lines (64 loc) · 5.04 KB
/
Задание.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Тестовое задание:
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
2) Есть текстовые данные в следующем формате:
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
3) Есть таблица в которой храниться дерево:
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
и т.д.
4) Выбрать из ране приведенной таблице все узлы которые не имеют родителей, но при этом содержать не менее 3 прямых потомков. (реализуется через SQL запрос)
5) Выбрать из ране приведенной таблице все узлы которые имеют только двух старших родителей, но при этом не имеют потомков. (реализуется через SQL запрос)
6) Найти повторяющееся числа в массиве с числами в диапазоне от 100 000 до 1 500 000. Количество повторяющихся чисел - 1-но, элементов в массиве - не меньше 1 000 000. Решить задачу на PHP минимальным использованием процессорного времени.
7) Удобно и наглядно представить результаты тестового задания, результат буду смотреть на последнем Open Server. Жду в реализации демострации навыков ООП и MVC