卡住了foreach循环

时间:2013-03-31 09:40:46

标签: php mysql loops dynamic foreach

我试图从动态表单插入数据。在我的形式中有字段。如果用户按下按钮,则会添加另一个空字段,然后填写信息。

例如,假设我有2个输入(input1_2,input2_2是在按下按钮后用js创建的):

 input1:              input2:
 input1_2:            input2_2:

        (add more field)

让我们说我已经输入了:

 input1: CAT          input2: 2
 input1_2: DOG        input2_2: 3

        (add more field)

所以我想回应CAT 2和DOG 3。 我尝试在foreach循环中使用foreach循环,但我遗漏了一些东西。 当我这样做时,我得到:

CAT 2
CAT 3
DOG 2
DOG 3

我不明白为什么会这样做,但我无法找到解决问题的方法。任何人都可以给我一些提示吗? 谢谢

Php代码:

$nimi_60=$_POST['nimi_60'];
$paev_60=$_POST['paev_60'];
foreach ($nimi_60 as $value_nimi_60)
  {
     foreach ($paev_60 as $value_paev_60)
        {           
        echo $value_nimi_60.' '.$value_paev_60.'</br>';
        }                 
      }

2 个答案:

答案 0 :(得分:0)

如果我认为你正在做你正在做的事情,试试:

$nimi_60 =& $_POST['nimi_60'];
$paev_60 =& $_POST['paev_60'];

$result = array();

foreach ( $nimi_60 as $key_nimi_60 => $value_nimi_60 ) {
    if ( isset( $paev_60[ $key_nimi_60 ] ) {
        $result[ $value_nimi_60 ] = (int) $paev_60[ $key_nimi_60 ];
    }
}

foreach ( $result as $index => $count ) {
    echo $index ." ". $count. </br>';
}

否则,您的钥匙在$ nimi_60&amp; $ paev_60看?请从两个阵列发布print_r。

答案 1 :(得分:0)

如果你确定$ nimi_60和$ paev_60包含相同数量的元素,你可以这样做:

$nimi_60 = $_POST['nimi_60'];
$paev_60 = $_POST['paev_60'];
foreach ($nimi_60 as $value_nimi_60) {
    echo $value_nimi_60 . ' ' . current($paev_60) . '</br>';
    next($paev_60);
}