PHP循环内部数组

时间:2016-11-11 08:52:03

标签: php html

如何在我的代码中循环--

这是我的脚本的静态版本:

array

然后,我需要从数据库中检索$val=array( array("value" => "Male","label" => "Male"), array("value" => "Female","label" => "Femal"), ); my_form("Gender","select","gender",$val,"",5); value

所以我将之前的代码定制为:

label

当我运行它时,我得到$div=array( while($h = mysql_fetch_array($qwery)){ array("value" => "$h[id]","label" => "$h[div]"), } ); my_form("Division","select","id_div",$div,"",5);

  

解析错误:语法错误,意外'而' (T_WHILE),期待')'

任何人都可以帮助我吗?

我想将数据库中的连接数据循环到:

  

输入类型="选择"

2 个答案:

答案 0 :(得分:1)

您不能将循环直接用作数组中的值。相反,循环并为while循环的每次迭代添加每个数组。

使用$div[] = "value",将该值添加为该数组中的新元素。

$div = array(); // Initialize the array 

// Loop through results
while ($h = mysql_fetch_array($qwery)) { 
    // Add a new array for each iteration
    $div[] = array("value" => $h['id'], 
                   "label" => $h['div']);
}

这将创建一个二维的数组,看起来像(例如)

array(
    array(
        "value" => "Male",
        "label" => "Male"
    ), 
    array(
        "value" => "Female",
        "label" => "Female"
    )  
);

...然后您可以使用foreach来查看您想要的内容。

如果您希望将其作为select元素中的选项输出,则可以直接执行此操作

<select name="sel">
    <?php 
    while ($row = mysql_fetch_array($qwery)) { 
        echo '<option value="'.$row['id'].'">'.$row['div'].'</option>';
    }
    ?>
</select>

答案 1 :(得分:0)

一个foreach可以帮助你。它为您提供了更多的概述imho。

$values = array(
    array("value" => "Male","label" => "Male"),
    array("value" => "Female","label" => "Femal"),
);

<select name="Select">
<?php foreach ($val as $item): ?>
    <option value="<?= $item['value']; ?>"><?= $item['label']; ?></option>
<?php endforeach; ?>
</select>