【问题标题】:How to implement foreach loop in echo in php [duplicate]如何在php中的echo中实现foreach循环[重复]
【发布时间】:2020-02-16 15:00:38
【问题描述】:

这是我的代码:

<div class="col-xs-6">
  <div class="form-group">
    <label><i class="fa fa-asterisk text-danger"></i> Country</label>
    <select class="form-control select2" id="countryId" name="countryId">
    <option value="0">Select Country</option>
      <?php
        if(!empty($country))
        {
          foreach ($country as $record)
          {
              ?>
              <option value="<?php echo $record->id ?>"><?php echo $record->countryName ?></option>
              <?php
          }
        }
      ?>
    </select>
  </div>
</div>

这是我的尝试(不成功):

echo '
<div class="col-xs-6">
  <div class="form-group">
    <label>'.(($required<>'0')?'<i class="fa fa-asterisk text-danger"></i>':"").' '.$friendlyName.'</label>
    <select '.(($readonly<>'0')?'readonly':"").' '.(($disabled<>'0')?'disabled':"").' class="form-control select2 '.$columnClass.'" id="'.$columnId.'" name="'.$columnName.'">
      <option value="0">Select Country</option>'.
        if(!empty($country))
        {
          foreach ($country as $record)
          {
              .'<option value="$record->id">$record->countryName</option>'.
          }
        }
    .'</select>
  </div>
</div>
';

当我运行回显代码时,它给了我这个错误:Parse error: syntax error, unexpected 'if' (T_IF)

我如何回显这个 html 和 php 块,包括 foreach 循环。

【问题讨论】:

  • 不要echo它。只需将它放在 PHP 块之外 (&lt;?php ... ?&gt;)。其中的实际 PHP 已经被这些标签包围了。

标签: php html loops foreach echo


【解决方案1】:

我尝试了其他方法:

$html = '
<div class="col-xs-6">
  <div class="form-group">
  <label>'.(($required<>'0')?'<i class="fa fa-asterisk text-danger"></i>':"").' '.$friendlyName.'</label>
  <select '.(($readonly<>'0')?'readonly':"").' '.(($disabled<>'0')?'disabled':"").' class="form-control select2 '.$columnClass.'" id="'.$columnId.'" name="'.$columnName.'">
    <option value="0">Select Country</option>';
      if(!empty($country))
      {
      foreach ($country as $record)
        {
          $html .= '<option value="'.$record->id.'">'.$record->countryName.'</option>';
        }
      }
$html .= '</select>
    </div>
  </div>
';
echo $html;

【讨论】:

  • 你好。你看了我上面的评论了吗?
  • 是的,但我问是否有任何方法可以回显所有代码。
  • echo 只是将内容发送到输出。通过将 HTML 直接放在文件中,它会做完全相同的事情(输出它)。在您的情况下使用 echo 似乎没有意义,您可以将其粘贴到某处并获得相同的结果。
  • 好的好的谢谢
【解决方案2】:

使用&lt;?php foreach(): ?&gt;而不是作为字符串循环回显每个项目

试试这个:

<div class="col-xs-6">
  <div class="form-group">
    <label><i class="fa fa-asterisk text-danger"></i> Country</label>
    <select class="form-control select2" id="countryId" name="countryId">
    <option value="0">Select Country</option>
      <?php if(!empty($country): ?>
          <?php foreach ($country as $record): ?>

            <option value="<?php echo $record->id ?>">
               <?php echo $record->countryName ?>
            </option>

          <?php endforeach; ?>
    <?php endif; ?>
   </select>
  </div>
</div>

【讨论】:

  • 我的所有字符串都已经在 php 中了,我不能再使用 php 标签了
  • 什么意思? @Danial212k
  • 我在循环中重复这段代码
  • 不要将其作为字符串回显,试试我的解决方案。
猜你喜欢
  • 1970-01-01
  • 2018-12-11
  • 1970-01-01
  • 2018-05-31
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多