使用php爆炸?

时间:2016-05-13 11:39:08

标签: php explode

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

<?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; ?>

现在的输出是:“德国,奥地利,瑞士”。

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

我希望你们能帮帮我。

3 个答案:

答案 0 :(得分:2)

我认为$this->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循环。

答案 1 :(得分:2)

我假设您在$ this-&gt; 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 :(得分:2)

要实现此目的,您需要使用逗号检查并分解国家/地区字符串,然后将其循环到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
    }
}
?>
相关问题