![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Там каша. По сути вашего описания в массиве находятся маски. И вы хотите найти подходящие под них значения в БД. Вам вполне конкретно ответили
А это ваш ответ Что-то еще нужно прочитать? Или вам нужно таки понять, что же вы делаете? Если в массиве не маски, то что? Плюс в этом случае остается актуальным вопрос И дальше будете продолжать играть в шпиона? Или озвучите внятно стоящую задачу? Без ваших додумываний о том, что лежит в базе и с чем его надо сравнивать.... Добавлено через 1 минуту и 25 секунд Ну таки структура, которую вы зачем-то приводите к строке. Зачем? -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Fortop, всё понятно, читать и понимать просто лень... бывает.. тогда так
То что ты называешь масками тоже являются значениями, например, "com_boss-6-6-" означает 1. com_boss - применимо для компонента com_boss и это значение должно содержаться в ($_GET или $_POST) в option 2. 6 - распространяется если компонент com_boss и категория с ID=6 3. 6 - распространяется если компонент com_boss, категория с ID=6 и каталог ID=6 4. '' - означает что привязка к разделам каталога не осуществляется Эти значения являются своеобразными идентификаторами URL, так же используются в VALUE в <FORM>, ну и ещё кое где Этот список более-менее постоянный и достаточно большой Далее с чем сравнивать или что сравнивать. В данном случае это как настроен определённый отображаемый объект на сайте. Например, если у нас в третьей части стоит ноль, то это означает что нам доступны данные не только из каталога ID=6, а из всей категории. Если там что-то иное чем ноль, то тогда уже реагируем на значение ps хотя я уже не знаю как объяснить.. смотри код, может так поймёшь. Код рабочий и мои требования выполняет Добавлено через 45 секунд не понял предложения -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Acl знакомо?
Можно посмотреть Zend_Acl phpgacl Вот туда и копать. А сравнивать в этом(вашем) случае лучше не строки, а таки структуры по уровням иерархий. Это сообщение отредактировал(а) Fortop - 20.6.2012, 14:58 -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
вот у нас есть функции которые ищут в строке строку по регулярным правилам. А мне нужно чтобы точно так же, но только поиск в массиве... Вот собственно к чему вся эта тема
а это вообще зачем? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
http://en.wikipedia.org/wiki/Access_control_list А ноги растут отсюда. Т.е. вам нужно определить доступен ли элемент иерархии. -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
| baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 4 Всего: 101 |
я читал внимательно и непониманием не страдаю. однако прекратил анализ Вашей задачи лишь потому что Вы её толком не сформулировали, а догадываться на основе ваших обмолвок и многакода желания и времени нет.
если вопрос только в этом (хотя полагаю такая формулировка не полна или даже неверна), то постройте одно регулярное выражение из всех элементов массива, части которого разделены предикатом "|" (или). это соответствует Вашим словам, но слишком просто что бы быть правдой |
||||
|
|||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Fortop, к сожалению я лучше знаю русский чем английский.
baldina, что не понятно в этом ответе? http://forum.vingrad.ru/index.php?showtopi...t&p=2498560 именно да. это просто на словах. реализация получилась такая, которую я показал. Задачи изначально стояла именно искать в массиве строку из другого массива при помощи регулярки... Конечно цель основная другая, но мне нужно именно этот кусок. Тему можно закрыть. Реализацию я сделал, может не оптимальную, но работает. Со временем поправлю. Просто очень много времени потратил на перебранки, за что прошу прощение если кого обидел ненароком ;) Ответ получился простой: строку в строке регуляркой искать можно, в массиве нет, для поиска в массиве нужно изобретать что-то иное.. -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: 2 Всего: 15 |
почитал, офигел.
может?
хотя наверно мимо, но всё равно оставлю сообщение, авось... |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Evghenusi, вопрос то не в регулярке... Нужно найти значение из одного массива в другом при помощи регулярки
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
array_filter сначала — БД и массив. потом — два массива. потом — два массива и регулярки. как только казалось, что начинаю понимать — попадалось новое сообщение, додказывающее обратное. общий совет: хочешь скорости, уходи от регулярок. раз у тебя строка имеет определенную структуру, то парсь её сразу же и работай уже со структурой, а не с трехэтажными регулярками. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
array_filter - видимо это то что я искал
Добавлено через 2 минуты и 55 секунд
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Есть на русском http://ru.wikipedia.org/wiki/ACL Суть в том, как организовать наследование прав доступа и определить доступен ли данный элемент для действий. Там же попутно решается тот вопрос, который вы разбирали в этой теме. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Fortop, это слишком сложно. Задача намного проще.. и я вроде её уже порешал.. сейчас ещё попробую с array_filter поиздеваться...
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |