2016-05-13 11 views
2

私は国のリストを持っています。リストには国が1つだけ含まれていることもあります。これは私のコードです:PHPで作業していますか?

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

あなたがループをお探しですか? – Chay22

+0

私は知りません^^私のPHPはあまり良くありません。 – fr3d

+0

あなたは国を経由してループするforeachループを使う必要があります – Saurabh

答えて

2

$ this-> valueの中にカンマ区切りリストを追加しているとします。

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

を配列にその文字列を分割し、その配列をループするforeachのを使用して、個々のリンクを生成するために、爆発のような

私たちは、私はこれがあなたの質問に答える願う機能を使用することができます。

+0

ありがとう、それは私に多くの助け:) – fr3d

2

私はあなたが以下のようにforeachループを使用して国を一つずつ得ることができるので、$this->valueが配列であることを前提としています

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

それはあなたが爆発()関数を使用して国を得ることができるよりも、文字列の場合

のような配列をforeachループに渡します。

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 
    } 
} 
?> 
関連する問題