Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиска элемента в массиве по значению
|
|||
|---|---|---|---|
|
#18+
Доброе время суток. Встала задача получить позицию вхождения слова в строку. Т.е. в строке "car dog" для слова "Dog" надо получить "1", для слова "cAr" - "0", для слова "vendor" - "-1". Первое, что мне пришло в голову - разбить строку в массив по пробелам. Примерно так: Код: plaintext 1. И вот теперь я уже сталкиваюсь с проблемой, что не знаю как получить индекс элемента в массиве по его значению. Поиском по ветке посмотрел - ничего более-менее подходящего не нашел. Ворос вот в чем. 1) Правльно ли мое решение по переходу от строки к массиву? 2) Если да, то мне придется написать свою функцию, которая будет перебирать элементы массива, пока не найдет элемент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 13:18 |
|
||
|
Поиска элемента в массиве по значению
|
|||
|---|---|---|---|
|
#18+
shuler2391) Правльно ли мое решение по переходу от строки к массиву?в дополнение к имеющейся таблице lines(id,data) добавить таблицу words(line_id,ordr,data) и делать select ordr from words where line_id=? and data=?. lines 1 мама мыла раму 2 foo bar baz words 1 1 мама 1 2 мыла 1 3 раму 2 1 foo 2 2 bar 2 3 baz ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 10:24 |
|
||
|
Поиска элемента в массиве по значению
|
|||
|---|---|---|---|
|
#18+
LeXa NalBat, Ну это решение мне не совсем нравится, поскольку это затрудняет добавление/обновление записей. Я все-таки решил отказаться от массивов, и написал свою функцию определения позиции слова в строке. Почему функцию? Потому что эту позицию я учитываю как показатель ранжирования в сложно запросе, и решение, предложенное Вами, тут опять же неоптимально... Собственно, код функции: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2008, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35682866&tid=2003837]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 326ms |

| 0 / 0 |
