![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Собственно вопрос такой:
Есть два массива.
нужно найти пересечение и показать их. ОБЯЗАТЕЛЬНО сохранив ключи. array_intersect_assoc() - находит значения, но ключи не сохраняет. Кто что предложит? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
но здесь же ключи - порядковые номера, т.е. результирующий массив как в двоичной алгебре:
Это сообщение отредактировал(а) bars80080 - 24.6.2008, 16:32 |
|||
|
||||
| sTa1kEr |
|
||||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Сохраняет. То в результирующий массив оно вообще не попадет, т.к.
Без проверки индексов, обычно остается индекс из первого масива. Считается что первый массив - master array. Предлагаю назвать переменные по-разному. Это сообщение отредактировал(а) sTa1kEr - 24.6.2008, 16:44 |
||||
|
|||||
| capitan |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
bars80080,
Я впринципе так и сделал. Думал может есть вариант попроще. Поясню более конкретно. Предположим есть 5 ячеек, которые пользователь заполняет определенными числами. При нажании на Готово,- формируется массив:
Который сравнивается с правильным вариантом:
И далее, неправильно заполненные поля пользователем подсвечиваются. А за правильные начисляются балы. Вот для чего нужно сохранять ключи. Чтобы сделать подсветку. Т.е. в двух массивах должна совпадать пара ключ-значение. Но все равно всем спасибо за участие. Если никто более простого варианта не предложит, тему можно закрывать. |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
capitan, функция array_intersect_assoc(), как говорит sTa1kEr, то что вам нужно,
сами проверьте:
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Боже ты мой.
в цикле пройти по первому массиву, сравнивая его с первым вторым. и ради этой задачи неделю искали функцию. Это сообщение отредактировал(а) Feldmarschall - 26.6.2008, 19:25 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
или вам нужно, чтобы на месте не совпавших значений были именно нули? но из этого можно выкрутится
|
|||
|
||||
| capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
bars80080,
array_intersect_assoc() покажет схождение массивов, а мне нужно расхождение, чтобы их подсветить. Думаю подойдет только перебор массивов со сравнением.
Feldmarschall, Ответ не верный. Не вижу смысла сравнивать массив сам с собой. Всем спасибо, тема закрыта. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Молодец, несмотря на опечатку, понял, как сделать =)
|
|||
|
||||
![]()
|
| Правила форума "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. |