Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Многомерный массив из формы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Возможно ли передать многомерный массив из формы?
registerers
Отправлено: 28 Ноября, 2012 - 14:38:00
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Скажите. вообще это возможно - передать из формы многомерный массив?
Вобщем задача такая - скрипту требуется массив в таком виде:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. (
  3.     [param] => Array
  4.         (
  5.             [0] => Array
  6.                 (
  7.                     [a] => value
  8.                     [b] => value
  9.  
  10.                 )
  11.             [1] => Array
  12.                 (
  13.                     [a] => value
  14.                     [b] => value
  15.                 )
  16.  
  17.         )
  18.  
  19. )
  20.  


Так вот, ума не приложу - как мне верстать форму??
Перепробовал разные комбинации, например:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <input type="text" name="param[][a]" value="">
  3. <input type="text" name="param[][b]" value="">
  4.  
  5. <input type="text" name="param[][a]" value="">
  6. <input type="text" name="param[][b]" value="">
  7.  

Выдает такой массив:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. (
  3.     [param] => Array
  4.         (
  5.             [0] => Array
  6.                 (
  7.                     [a] =>
  8.                 )
  9.  
  10.             [1] => Array
  11.                 (
  12.                     [b] =>
  13.                 )
  14.  
  15.             [2] => Array
  16.                 (
  17.                     [a] =>
  18.                 )
  19.  
  20.             [3] => Array
  21.                 (
  22.                     [b] =>
  23.                 )
  24.  
  25.         )
  26.  
  27. )
  28.  


Но это совсем не то, что надо. Скажите, это вообще реально сделать то, что я хочу?

(Отредактировано автором: 28 Ноября, 2012 - 15:34:21)

 
 Top
sKaa
Отправлено: 28 Ноября, 2012 - 14:47:39
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


serialize($array) ? и в hidden всё )
 
 Top
registerers
Отправлено: 28 Ноября, 2012 - 14:51:27
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




sKaa пишет:
serialize($array) ? и в hidden всё )


Возможно вы не так поняли вопрос. Мне нужно получить такой массив из уже готовой верстки, где два поля идут одно за другим и таких наборов может быть несколько. А когда массив получен, ясное дело, что его можно передать и путем сериализации. Итак вопрос - как получить такой массив?
 
 Top
Wol_fi
Отправлено: 28 Ноября, 2012 - 22:20:28
Post Id


Новичок


Покинул форум
Сообщений всего: 60
Дата рег-ции: Февр. 2012  


Помог: 2 раз(а)




registerers пишет:
Возможно вы не так поняли вопрос. Мне нужно получить такой массив из уже готовой верстки, где два поля идут одно за другим и таких наборов может быть несколько. А когда массив получен, ясное дело, что его можно передать и путем сериализации. Итак вопрос - как получить такой массив?

Такой массив можно получить только путём указания ключей, так как пустые скобки будут добавлять новый элемент при каждом вхождении. Вообщем вам надо как-то сделать
CODE (html):
скопировать код в буфер обмена
  1. <input type="text" name="param[0][a]" value="">
  2. <input type="text" name="param[0][b]" value="">
  3.  
  4. <input type="text" name="param[1][a]" value="">
  5. <input type="text" name="param[1][b]" value="">


А расставлять необходимые цифры можно уже и на php при генерации формы.
 
 Top
registerers
Отправлено: 28 Ноября, 2012 - 23:07:14
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Wol_fi пишет:
А расставлять необходимые цифры можно уже и на php при генерации формы.


в том то и дело, что эти инпуты могут создаваться и удаляться динамически с помощью JS и для того, чтобы обеспечить контроль за индексами прийдется невообразимо существенно усложнять код... ну и ладно, и на том, как говорится Спасибо! я хоть понял, что без костыля здесь не обойдешься, надеялся, что еще может быть какой то элегантный способ решения данной задачи... эххъ Огорчение
 
 Top
esterio
Отправлено: 28 Ноября, 2012 - 23:44:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




<input type="text" name="param[]" value="">
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB