Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача массива через форму
 
 автор: Zilog   (05.03.2009 в 03:09)   письмо автору
 
 

есть ряд полей:

... name="field[$index]"  ...


которые пи получении могу обработать в цикле:

foreach($_POST[field] as $id => $v)


но вот вопорс - как быть (взможно ли это), если через имя поля хочу передать два значения, типа этого:

... name="field[$index1][$index2]"  ...


если такое возможно - как это потом обработать (получить доступ ко второму значению)?

upd сделал пока так: [$index1,$index2], и эксплодом потом достаю нужное. Но есть ли иные способы?

  Ответить  
 
 автор: sim5   (05.03.2009 в 03:42)   письмо автору
 
   для: Zilog   (05.03.2009 в 03:09)
 

Можно конечно, в этом случае у вас будет просто многомерный массив. А доступ к его элементам, это уж как вам требуется - к одному кокретному, или обработка всех в цикле.

  Ответить  
 
 автор: Zilog   (05.03.2009 в 10:41)   письмо автору
 
   для: sim5   (05.03.2009 в 03:42)
 

>, или обработка всех в цикле.

а тут можно по подробнее?

и еще вопрос - как правильней, лучше - многомерным, или с разделителем, как я сделал?

  Ответить  
 
 автор: sim5   (05.03.2009 в 11:23)   письмо автору
 
   для: Zilog   (05.03.2009 в 10:41)
 

Стоп. То что как имя [a][b], удобно для именования, например, массива полей в форме. Получая затем такой многомерный массив, обрабатываем его, и получаем значения его элементов.
Сдается мне, что вы пытаетесь делать нечто иное, и вам это не нужно. Вы хотите посредством формы передать множество значений, так? Ну тогда и передавайте их так, как вы и делали - строй с разделителем. Можно вообще ничего не предавать формой, а воспользоваться услугой сессии, помещая в одном сценарии данные в нее, пусть полученные из некой формы, а в другом сценарии извлекая их от туда. В сессии вы можете держать такие данные как массив.

  Ответить  
 
 автор: Zilog   (05.03.2009 в 14:17)   письмо автору
 
   для: sim5   (05.03.2009 в 11:23)
 

>Стоп. То что как имя [a][b], удобно для именования, например, массива полей в форме. Получая затем такой многомерный массив, обрабатываем его, и получаем значения его элементов.

Спасибо за пояснения. Решил оставить вариант с разделителем. Но все равно интересно (на будущее), как в в цикле "имя[a][b]" получить к данным b.

  Ответить  
 
 автор: Commander   (07.03.2009 в 08:45)   письмо автору
 
   для: Zilog   (05.03.2009 в 03:09)
 

Если нужно передать массив через форму, можно поступить так:

    ...value=serailize($myArray)...

, а при обработке формы использовать функцию unserialize();

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования