PHP for循环未附加所有字符串

问题描述 投票:0回答:1

我正在尝试创建一个PHP函数,该函数为Bootstrap 4表单输入下拉菜单生成代码。从JSON文件读取数据,并使用for循环将每一行附加到字符串变量。

代码:

    $output = '<select class="custom-select" id="'.$element.'">';
    $output = $output . '<option selected value="999">Select...</option>';
    for($i=0;$i<sizeof($json_obj);$i++)
    {
        echo($i.' - '.$json_obj[$i]["name"]);
        $output = $output . '<option value="'.$i.'">'.$json_obj[$i]["name"].'</option>';
    }
    $output = $output . '</select>';

for循环内的字符串追加仅工作一次。但是for循环可以正常工作,并且for循环内的'echo'函数也可以打印所有行。

[从循环中的'echo'函数打印出来:::

0 - Peter
1 - Sam
2 - John
3 - Helen

下拉菜单中的可用选项:::

Select...
Peter

HTML代码生成:::

<select class="custom-select" id="element">
    <option selected value="999">Select...</option>
    <option value="0">Peter</option>
</select>

所需的HTML代码:::

<select class="custom-select" id="element">
    <option selected value="999">Select...</option>
    <option value="0">Peter</option>
    <option value="1">Sam</option>
    <option value="2">John</option>
    <option value="3">Helen</option>
</select>
php html string for-loop append
1个回答
0
投票

请按如下所示的正确格式使用'。='

$output = '<select class="custom-select" id="'.$element.'">';
    $output .=  '<option selected value="999">Select...</option>';
    for($i=0;$i<sizeof($json_obj);$i++)
    {
        echo($i.' - '.$json_obj[$i]["name"]);
        $output .= '<option value="'.$i.'">'.$json_obj[$i]["name"].'</option>';
    }
    $output .= '</select>';

© www.soinside.com 2019 - 2024. All rights reserved.