![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Acraft |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 19.4.2005 Репутация: 1 Всего: 2 |
Я хотел написать скрипт который позволял бы выбирать элементы массива $list_tmp и задавать порядок следования выбранных элементов.
Т.е. выводится массив а напротив каждого элемента находится элемент формы "text", где я проставляю порядковый номер элемента. После обработки выбранные элементы массива образуют массив $list и следуют именно в том порядке который я им задал. Использовать array_combine() не могу, т.к. работаю с PHP4 Идея алгоритма проста - из формы получаем 2 массива: $list_tmp - массив слов, $consecution - массив с цифрами, который отображают порядок в котором должены быть отсортированы выбранные элементы $list_tmp В цикле от $i=0 до размера любого из 2-х массивов заполняем третий массив $list(mas[$i]))=$list_tmp[mas[$i]] По моему, алгоритм должен работать, но тем не менее $list заполняется не в нужном порядке (почему отловить не могу). Такой вот код, чтобы в примере избавиться от работы с базой, здесь используется заранее объявленный массив list_tmp.
Возможно будут комментарии не только по коду, но и по алгоритму. С удовольствием выслушаю. |
|||
|
||||
ZlojEzh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.10.2005 Где: Киев, Украина Репутация: 10 Всего: 15 |
не уверен, что правильно врубился в проблему, но, кажется, после всех этих операций надо выполнить ksort($list)
|
|||
|
||||
Acraft |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 19.4.2005 Репутация: 1 Всего: 2 |
Пробовал. И с ksort() и без него результат одинаковый. т.е. ksort() здесь ни при чем
![]() p.s.: например, есть картинки. Их имена находятся в базе. Мне нужно чтобы можно было менять порядок их следования. Я загоняю их имена в массив $list_tmp, там они идут по алфавиту. Есть 2-й массив $consecution в котором записан порядок в котором они должны следовать относительно первого массива. Т.е. получается что нужно создать 3-й массив $list который будет иметь содержимое из первого массива, а ключи из второго. for ($i=0; $i<sizeof($_POST['list_tmp']); $i++) { $list[$consecution[$i]]=$_POST['list_tmp'][$consecution[$i]]; } ksort($list); Это сообщение отредактировал(а) Acraft - 11.11.2006, 12:12 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |