Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хэш-код массива 
:(
    Опции темы
lexnext1
Дата 14.11.2011, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 2.6.2011

Репутация: нет
Всего: нет



Добрый день!
 Есть многомерный ассоциативный массив. Он передается в форму и уже там его значения распределяются по элементам формы. После нажатия кнопки этот массив приходит обратно, немного поколдовав можно получить массив такой же структуры, какой мы отправляли в форму. Каким образом сравнить этот массив с тем, что мы отправляли?

Обход одного полученнго массива и сравнение элементов с отправленным - этот вариант не подходит, т.к. первоначальный массив нужно снова будет сформировать, а это запрос в БД.

 Хотелось бы оставить на форме поле с хэш-кодом, вычисленным на основании первоначального массива и уже потом сравнивать с хэш-кодом полученного.
 Каким образом посоветуете это реализовать?
Заранее спасибо! 
PM MAIL   Вверх
lexnext1
Дата 14.11.2011, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 2.6.2011

Репутация: нет
Всего: нет



Как вариант вижу 
Код

md5(json_encode($massive));


PM MAIL   Вверх
bobik02
Дата 14.11.2011, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 2
Всего: 14



Почему не хотите делать запрос, сильно загрузит ? 

А что если загнать массив в сессию ?

Это сообщение отредактировал(а) bobik02 - 14.11.2011, 14:15


--------------------
Have a nice day
PM   Вверх
$дмитрий
Дата 14.11.2011, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



Цитата

Каким образом сравнить этот массив с тем, что мы отправляли?

Код

md5(serialize($arMyArray))

Если просто сравнить 2 массива можно без md5
PM MAIL   Вверх
BuShaRt
Дата 14.11.2011, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

Репутация: 4
Всего: 6



Если это форма, то полагаю она будет редактироваться, а раз она будет редактироваться, то сравнением по хещу вы сможете только выяснить было ли редактирование данных вообще? Если вы хотите добиться этого, то вы должны строить массив на сервере по образу получаемого массива с формы, проводить сереализацию обоих и сравнивать (md5 тут наверно опционально т.к. сериализованные данные тоже однородны).

Если же Вам нужно получить болие точную обратную связь то надо проводить анализ данных, причем для каждого поля скорей всего будет уникальный обработчик.

Это сообщение отредактировал(а) BuShaRt - 14.11.2011, 18:14
PM MAIL   Вверх
message
Дата 21.12.2011, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 8.9.2008

Репутация: 3
Всего: 3



Цитата(lexnext1 @  14.11.2011,  13:27 Найти цитируемый пост)
Каким образом сравнить этот массив с тем, что мы отправляли?


есть куча разных вариантов включая те что уже писали... Простое сравнение не подходит?

Код

php > $a = array('key' => 'value');
php > $b = array('key' => 'value', 'foo' => 'bar');
php > $c = array('key' => 'value');
php > var_dump($a == $b);
bool(false)
php > var_dump($a == $c);
bool(true)


Можете капнуть в этом направлении если нужно что-то серьёзней.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0827 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.