0

以下のコードでは、最後の項目 ($term->name) が最後の項目の重複したエントリを返します。

出力:

例: コンピューティング、ファッション、出版、医学、医学

例:IT、音楽、テクノロジー、テクノロジー

ヘルプ!

<?php $vocabularies = taxonomy_get_vocabularies();
    foreach($vocabularies as $vocabulary) {
       if ($vocabularies) {
          $terms = taxonomy_node_get_terms_by_vocabulary($node, $vocabulary->vid);
             if ($terms) {
       $i = 1;
       $len = count($terms);
                foreach ($terms as $term) {                     
             if ($i == 1) {
                   print '<span class="separator">' . t($term->name) . '</span>' . ' , '; }
                 else {
                    print '<span class="separator">' . t($term->name) . '</span>' . ' , '; }
             if ($i == $len) {
                   print '<span class="separator">' . t($term->name) . '</span>'; }
        $i++;
                }
              }
       }
    } ?>
4

2 に答える 2

3
if ($i == 1) {
    // the first element
} else {
    // other elements, including the last one
}

if ($i == $len) {
    // the last element again
}

これを次のように変更したい場合があります。

if ($i == 1) {
    // the first element
} else if ($i < $len) {
    // other elements, excluding the last one
}

if ($i == $len) {
    // the last element
}

または、最初の要素に特別な意味がない場合:

if ($i < $len) {
    // all elements excluding the last one
} else {
    // the last element
}
于 2012-11-23T15:45:50.750 に答える
1

else-if最後の条件に使用する必要があります。これで、基本的に各要素を2つのifでチェックしています。

If i is one, do this, else that.
AND
If i is the last one, also do this
于 2012-11-23T15:46:05.967 に答える