我有一个国家/地区列表,有时列表只包含一个国家/地区,有时甚至更多。这是我的代码:
<?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; ?>
现在的输出是:“德国,奥地利,瑞士”。
我想为每个国家/地区创建链接,我该怎么做?
我希望你们能帮帮我。
答案 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
}
}
?>