如何在php中使用字符串连接foreach循环

如何在php中使用字符串连接foreach循环,php,foreach,concat,Php,Foreach,Concat,如何在PHP中使用字符串连接foreach循环,如下所示 $traning [] = '<tr> <td style="width:30%" id="trainingCode_' . $key + 1 . '"> <select class="select2 form-control" data-live-search= "true" name="trainingCode[]"> <option value="0">

如何在PHP中使用字符串连接foreach循环,如下所示

$traning [] = '<tr>
    <td style="width:30%" id="trainingCode_' . $key + 1 . '">
    <select class="select2 form-control" data-live-search= "true" name="trainingCode[]">
        <option value="0">SELECT CODE</option>'.
        foreach ($code=0 as $row) {
            //
        }
    .'</select>
    </td>
   </tr>';
有人能帮我吗


提前感谢

您可以执行以下操作:

$options = "";
foreach ($code=0 as $row) {
    $options .= "<option value='$code'>Code</option>";
}

$traning [] = '<tr>
<td style="width:30%" id="trainingCode_' . $key + 1 . '">
<select class="select2 form-control" data-live-search= "true" name="trainingCode[]">
    <option value="0">SELECT CODE</option>'.
    $options
.'</select>
</td>
</tr>';
将代码拆分为每个人都清楚的部分:

$trContent = '<tr>
    <td style="width:30%" id="trainingCode_' . $key + 1 . '">
    <select class="select2 form-control" data-live-search= "true" name="trainingCode[]">
        <option value="0">SELECT CODE</option>';

// iterate over array and append to `$trContent`
foreach ($code as $row) {
    $trContent .= '<option></option>';
}

$trContent .= '</select>
    </td>
   </tr>';

$traning [] = $trContent;

Foreach循环内字符串不是最好的方式。但是一串接一串

$options = "";
foreach ($rows as $code) {
  $options .= '<option value="'.$code '">' . $code . '</option>';
}
$traning [] = '<tr>
    <td style="width:30%" id="trainingCode_' . $key + 1 . '">
    <select class="select2 form-control" data-live-search= "true" name="trainingCode[]">
        <option value="0">SELECT CODE</option>'. $options .
    '</select>
    </td>
   </tr>';

您的代码中几乎没有问题:

问题1:您不能像变量一样使用concat函数,您只需要中断代码并存储在变量中,然后使用concat,否则,这将导致解析错误

问题2:不知道为什么在foreach中使用$code=0作为$row,这将导致无效参数错误

问题3:这只是我的假设,根据这个id=培训代码$键+1。'您正在循环中使用此代码,如果是,则此部件名称=trainingCode[]在获取记录时也会产生问题,您如何知道正确的关系

您的代码示例:


兄弟,请修改这一行,我也添加了我的答案和一些建议。绝对没有价值复制选项的文本作为一个值属性值。就用…’。内爆,$code'。。。绝对没有任何值可以将选项的文本复制为值属性值。就用…’。内爆,$code'。。。此仅代码post不会生成任何附加标记。低质量的回答,仓促的回答。硬编码的文本代码会让用户很难准确知道他们选择的值,因为所有选项都有相同的可见文本。
$htmlToConcat = "";
 foreach ($code=0 as $row) {
        $htmlToConcat .= "";
    }


$traning [] = '<tr>
    <td style="width:30%" id="trainingCode_' . $key + 1 . '">
    <select class="select2 form-control" data-live-search= "true" name="trainingCode[]">
    <option value="0">SELECT CODE</option>'.$htmlToConcat.'</select>
</td>
</tr>';
<?php
$myString = '<tr>
    <td style="width:30%" id="trainingCode_' . $key + 1 . '">
    <select class="select2 form-control" data-live-search= "true" name="trainingCode[]">
        <option value="0">SELECT CODE</option>';

// use your foreach loop here
foreach ($code as $row) {
    $myString .= '<option value="'.$row.'">'.$row.'</option>'; // contact wit  $myString
}

$myString .= '</select></td></tr>';
$traning[] = $myString;
?>