![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Артем125 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Есть массив такого вида
Массив обходиться в цикле (ниже). Из значения ключа необходимо вытащить цифры стоящие после литеры m, например, из ключа m03body1987 необходимо вытащить 03. Необходимо обойти этот массив, перелистывая ключи, сверяя значение ключа с текущим значением переменных i j, и если совпадение то вытащить значения соответсвующие найденному ключу . Проблема что скрипт зависает, в процессе перелистывания ключей
|
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
для получения ключей есть функция, типа array_keys()
после этого массив прогоняется в цикле один раз, а не три. может перестанет зависать |
|||
|
||||
| Артем125 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.9.2009 Репутация: нет Всего: нет |
Вот решение проблемы, пришлось ключи делать так m:00:head:742 Идея принадлежала уважаемому capitan .. Отдельное спасибо Ипатьеву .Всем спасибо
|
|||
|
||||
| brother79 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: 2 Всего: 6 |
Что-то я не понял что ты тут пытаешься изобрести. Смотрел последний код - и всё, что по нему понял, что он должен создать таблицу с массива сортированного по ключам, по 1 значению на каждый ключ.
Для этого есть ф-я http://ru.php.net/manual/en/function.ksort.php ИМХО гораздо проще отсортировать по ключас массив, и раз по нему пробежаться чтобы выкинуть дубли, если такое требуется, чем 3 вложенных цикла с общим числом итераций 100*100*n вместо n или 2*n итераций Кроме того
равносилен
А также использование индексов вида "m:00:head:742" - по сути ничего не даёт, да, так конечно удобней, но и из старого индекса эти 2 цифры также достаются без проблем, даже без регулярок, например http://ru2.php.net/manual/en/function.substr.php Короче непонятно, кому спасибо и за что, и что в итоге получилось, т.к. код какой-то жутко нерациональный в данном примере Добавлено через 5 минут и 12 секунд Хотя нет, я ошибся не 100*100*n , а 10*10*n, не много итераций получается, но всёравно не понятно что там с if (isset($v)) |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |