php数组问题

时间:2011-03-25 14:31:15

标签: php

我对php有关阵列的疑问。我有

Array
(
    [0] => Array
        (
            [fieldset_name] => Personal Details
            [field_name] => applicant_name
            [field_label] => Your Name
            [field_type] => text
            [css_classes] => required
            [minlength] => 4
            [maxlength] => 10
            [default_value] => 
            [help_text] => 
        )

现在我想输出就像一个html表单。在那个领域将是这样的:

<label for="applicant_name">Your Name</label><input type="text" maxlength="10" minlength="4" />

3 个答案:

答案 0 :(得分:2)

基于@Michiel Pater的回答:

<?php
foreach($array as $element)
{
    echo '<label for="' . $element['field_name'] . '"></label>' . $element['field_label'] . '<input name="' . $element['field_name'] . '" type="' . $element['field_type'] . '" maxlength="' . $element['maxlength'] . '" minlength="' . $element['minlength'] . '" class="' . $element['css_classes'] . '" /><br/>', "\n";
}

看起来你有一系列元素。这意味着您可以拥有1个或99个(或更多)元素。将代码放在foreach循环中意味着它们中的每一个都将被回显。

答案 1 :(得分:1)

您可以执行以下操作:

<?php
$html = '';
foreach($array as $e){
    $html.= "<label for='{$e['field_name']}'>{$e['field_label']}</label>";
    $html.= "<input type='{$e['field_type']}' ".
        "maxlength='{$e['maxlength']}' minlength='{$e['minlength']}' ".
        "class='{$e['css_classes']}' value='{$e['default_value']}' ".
        "title='{$e['help_text']}' />";
}
echo $html;
?>

Basiclly只是循环遍历数组,并在正确的位置打印出元素。

答案 2 :(得分:0)

$count = count($field);
$finalString = "";

for($i = 0; $i < $count ; $i ++)
{
    $finalString .= '<label for="' . $fields[$i]['field_name'] . '"></label>' . $fields[$i]['field_label'] . '<input name="' . $fields[$i]['field_name'] . '" type="' . $fields[$i]['field_type'] . '" maxlength="' . $fields[$i]['maxlength'] . '" minlength="' . $fields[$i]['minlength'] . '" class="' . $fields[$i]['css_classes'] . '" />';
}

echo $finalString;