【问题标题】:Working with php explode?使用 php 会爆炸吗?
【发布时间】:2016-05-13 11:39:07
【问题描述】:

我有一份国家/地区列表,有时该列表仅包含一个国家/地区,有时甚至更多。这是我的代码:

<?php if($this->value): ?>
<a class="tag" href="{{env::url}}/business?land=<?php echo $this->value; ?>" title="<?php echo $this->value; ?>"><?php echo $this->value; ?></a>
<?php endif; ?>

现在的输出是:“Germany,Austria,Switzerland”。

我想为每个国家/地区创建一个链接,我该怎么做?

希望你们能帮帮我。

【问题讨论】:

  • 您在寻找循环吗?
  • 我不知道^^我的php不太好。
  • 你需要使用foreach循环来遍历国家
  • 我认为您的代码不完整。所以发布整个代码......代码和输出不同步。
  • 这是 country 属性的代码,由我的 CMS 提供。

标签: php explode


【解决方案1】:

我假设您在 $this->value 中获得了逗号分隔的国家/地区列表。

我们可以使用explode之类的函数将该字符串拆分为数组,然后使用foreach循环遍历数组并生成单独的链接

<?php if($this->value): ?>
    <?php
        $array = explode( ',', $this->value );
    ?>
    <?php foreach($array as $value): ?>
        <a class="tag" href="{{env::url}}/business?land=<?php echo $value; ?>" title="<?php echo $value; ?>"><?php echo $value; ?></a> - 
    <?php endforeach; ?>
<?php endif; ?>

我希望这能回答你的问题。

【讨论】:

    【解决方案2】:

    我假设$this-&gt;value 是一个数组,因此您可以使用foreach 循环逐个获取国家/地区,如下所示:

    <?php if($this->value): ?>
        <? $countries = $this->value; ?>
        <? foreach ($countries as $country): ?>
            <a class="tag" href="{{env::url}}/business?land=<?php echo $country; ?>" title="<?php echo $country; ?>"><?php echo $country; ?></a>
        <? endforeach; ?>
    <? endif; ?>
    

    如果它是字符串,则可以使用 explode() 函数并将国家/地区作为数组获取,例如:

    <?php $countries = explode("," , $this->value); ?>
    

    并将这个 $countries 数组传递给 foreach 循环。

    【讨论】:

      【解决方案3】:

      为了实现这一点,您需要用逗号检查和分解国家字符串,然后在 foreach 中循环。

      示例代码:

      <?php
      if ($this->value) {
          $countries = explode(",", $this->value);
          if (count(countries) > 1) {
              foreach ($countries as $country) {
                  ?>
                  <a class="tag" href="{{env::url}}/business?land=<?php echo $country; ?>" title="<?php echo $country; ?>"><?php echo $country; ?></a>
                  <?php
              }
          } else {
              ?>
              <a class="tag" href="{{env::url}}/business?land=<?php echo $this->value; ?>" title="<?php echo $this->value; ?>"><?php echo $this->value; ?></a>
              <?php
          }
      }
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-13
        • 1970-01-01
        • 1970-01-01
        • 2015-01-20
        • 2021-09-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多