获取数组值

时间:2014-02-04 02:23:19

标签: php arrays

我有一个表单在while循环中有一个选择框。我尝试从该选择框中获取数据或值。以下是我的表格代码。

<form role="form" method="post" action="test2.php" >
    <?php 
        $endDate = '2014-01-28';
        $startDate = '2014-01-27';

        $daydiff = floor( ( strtotime( $endDate ) - strtotime( $startDate ) ) / 86400 );

        $x=0; 
        while($x<=$daydiff)
        {
            ?>
                <select class="form-control" name="day_<?php echo $x; ?>">
                    <option value="monday">Monday</option>
                    <option value="tuesday">Tuesday</option>
                    <option value="wednesday">Wednesday</option>
                    <option value="thursday">Thursday</option>
                </select>
                <select class="form-control" name="time_<?php echo $x; ?>">
                    <option value="10am">10am</option>
                    <option value="11am">11am</option>
                    <option value="12pm">12pm</option>
                    <option value="1pm">1pm</option>
                </select>
            <?php
            $x++;
        } 
    ?>
    <input type="hidden" name="count" value="<?php echo $x ?>"/>
    <button type="submit" name="submit" class="btn btn-primary btn-lg btn-block">Submit</button>
</form>

下面是我的“test2.php”。

<?php

for ($i = 0; $i < $_POST['count']; $i++){
    $day_var = 'day_' . $i;
    $days_list[] = $_POST[$day_var];

    $time_var = 'time_' . $i;
    $time_list[] = $_POST[$time_var];

    echo ($_POST[$day_var]);
    echo ($_POST[$time_var]);
}

?>

当我提交时,它将回显“monday10tuesday11am”我如何单独提取值monday10tuesday11am

2 个答案:

答案 0 :(得分:0)

您可以使用HTML中的简单数组替换编号方案和变量变量。

<select class="form-control" name="day[<?php echo $x; ?>]">
<select class="form-control" name="time[<?php echo $x; ?>]">

$days_list[] = $_POST[$day];
$time_list[] = $_POST[$time];

这将大大简化您的form2.php。否则,请尝试用您的代码解释您期望的结果。

答案 1 :(得分:0)

只需为回声添加一些空间。

echo ($_POST[$day_var]).' '.($_POST[$time_var]);