数组:如何将值放入数组索引?

时间:2016-03-18 06:43:19

标签: php arrays multidimensional-array

我的文本框有默认值。我想把它们放在数组输出中,如下所示。

P.S:创建问题时,我的在线测验程序中的动态选项需要预期的数组输出(如下所示)

  if(isset($_POST['btn_submit'])
  {
    //code here
  }

<form method="post">
  //question 1 array index [0]
  <input type="text" name="option" value="1">
  <input type="text" name="option" value="2">
  <input type="text" name="option" value="3">

  //question 2 array index [1]
  <input type="text" name="option" value="1">
  <input type="text" name="option" value="2">

  <input type="submit" name="btn_submit">
</form>

预期阵列输出值

array ( 
    [0] => 1,2,3 
    [1] => 1,2   
)

编辑:

可以使用相同的名称但仍能获得预期的数组值吗?然后,将它们放在一个变量数组

3 个答案:

答案 0 :(得分:2)

您需要在name属性中使用array作为:

<form method="post">
<input type="text" name="option_1[]" value="1">
<input type="text" name="option_1[]" value="2">
<input type="text" name="option_1[]" value="3">

<input type="text" name="option_2[]" value="1">
<input type="text" name="option_2[]" value="2">
</form>

<强> PHP:

if(isset($_POST['btn_submit']))
{
    $newArr[] = implode(',',$_POST['option_1']);
    $newArr[] = implode(',',$_POST['option_2']);
    echo "<pre>";
    print_r($newArr);
}

<强>结果:

Array
(
    [0] => 1,2,3
    [1] => 1,2
)

如果您只想使用一个名称option而不是使用此名称:

<form method="post">
  <input type="text" name="option[0][]" value="1">
  <input type="text" name="option[0][]" value="2">
  <input type="text" name="option[0][]" value="3">

  <input type="text" name="option[1][]" value="1">
  <input type="text" name="option[1][]" value="2">

  <input type="submit" name="btn_submit">
</form>

<强> PHP:

if(isset($_POST['btn_submit']))
{
  $newArr[] = implode(',',$_POST['option'][0]);
  $newArr[] = implode(',',$_POST['option'][1]);
  echo "<pre>";
  print_r($newArr);
}

答案 1 :(得分:2)

使用以下代码替换您的代码,IT将继续工作。

 if(isset($_POST['btn_submit'])
  {
    //code here
  }

<form method="post">
  //question 1 array index [0]
  <input type="text" name="option[0][]" value="1">
  <input type="text" name="option[0][]" value="2">
  <input type="text" name="option[0][]" value="3">

  //question 2 array index [1]
  <input type="text" name="option[1][]" value="1">
  <input type="text" name="option[1][]" value="2">

  <input type="submit" name="btn_submit">
</form>

答案 2 :(得分:0)

您只需在选项名称前使用[]即可将其设为数组。

//question 1 array index [0]
<input type="text" name="option_1[]" value="1">
<input type="text" name="option_1[]" value="2">
<input type="text" name="option_1[]" value="3">

//question 2 array index [1]
<input type="text" name="option_2[]" value="1">
<input type="text" name="option_2[]" value="2">