Массив в $_POST

lserhio

День добрый. Что то меня заклинило.

есть форма

Код (Text):
  1.             <td><?echo $a;?></td>
  2.             <td><input type=»text» name=»elem[][kr_v_k_po]»></td>
  3.             <td><input type=»text» name=»elem[][kr_v_k_pa]»></td>
  4.             <td><input type=»text» name=»elem[][kr_v_k_b]»></td>
  5.             <td><input type=»text» name=»elem[][kr_v_k_pr]»></td>
  6.             <td><input type=»submit» value=»Записать»></td>

При нажатии Записать массив elem записывается в $_POST.
при выводе на экран через print_r все данные видны.

Код (Text):
  1. Array ( [0] => Array ( [kr_v_k_po] => 5 ) [1] => Array ( [kr_v_k_pa] =>4 ) [2] => Array ( [kr_v_k_b] =>4 ) [3] => Array ( [kr_v_k_pr] =>митмит ) )

Вопрос. Как присвоить переменной значение из массива elem?

варианты

Код (Text):
  1. $kr_v_k_po=$_POST[‘elem’][‘kr_v_k_po’];
  2. $kr_v_k_po=$_POST[‘kr_v_k_po’][0];
  3. $kr_v_k_po=$_POST[0][‘kr_v_k_po’];
  4. $kr_v_k_po=$_POST[0][0];

не работают

 

Drunkenmunky

name=»elem[][kr_v_k_po]»></td>

Код (Text):
  1. name=»elem[kr_v_k_po]
PHP:
  1. <pre>
  2. <?php
  3. print_r($_POST[‘elem’]);
 

lserhio

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

 

Drunkenmunky

Значит, по этим значениям к этим элементам и нужно обращаться.

Код (Text):
  1. $_POST[‘elem’][0]
  2. $_POST[‘elem’][‘key’]…
 

lserhio

ну я же и написал, что не работает так :) хотя должно :)

 

Drunkenmunky

Потому, что не так.
[] — новый элемент с последним свободным числовым ключом.
Например, если ранее вы уже использовали [] дважды, то ключ будет присвоен — 2(после 0 и 1)

 

lserhio

попробовал. Ваш вариант сработал. Спасибо огромное.

Код (Text):
  1.             <td><?echo $a;?></td>
  2.             <td><input type=»text» name=»elem[1][kr_v_k_po]»></td>
  3.             <td><input type=»text» name=»elem[1][kr_v_k_pa]»></td>
  4.             <td><input type=»text» name=»elem[1][kr_v_k_b]»></td>
  5.             <td><input type=»text» name=»elem[1][kr_v_k_pr]»></td>
  6.             <td><input type=»submit» value=»Записать»></td>
  7.  
  8.             <td><?echo $a;?></td>
  9.             <td><input type=»text» name=»elem[2][kr_v_k_po]»></td>
  10.             <td><input type=»text» name=»elem[2][kr_v_k_pa]»></td>
  11.             <td><input type=»text» name=»elem[2][kr_v_k_b]»></td>
  12.             <td><input type=»text» name=»elem[2][kr_v_k_pr]»></td>
  13.             <td><input type=»submit» value=»Записать»></td>

а этом случае как обратиться к нужному элементу?

 

Drunkenmunky

Код (Text):
  1. echo $_POST[‘elem’][2][‘kr_v_k_po’];
 

lserhio

Спасибо огромное. Пойду доделывать.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *