PHP IF语句允许A,B,C和D

时间:2018-10-19 11:28:34

标签: php if-statement

我想输出一个分类法,以便如果选择一个元素则显示(例如A),但是如果选择两个元素则显示(例如A&B)但如果选择了更多则添加逗号然后在最后添加&一个(例如A,B和C或A,B,C和D)

这是我到目前为止的代码

$colours = get_the_terms( $post->ID, 'colour' );   
if ( $colours ) {
   $i = 0;
   foreach ( $colours as $colour ) {
       if(1==$i) {
          echo ' & ';
       }
       echo $colour->name;
       $i++;
   } 
} 

当前这样做(例如,选择1 =红色,然后选择2 =红色和绿色),但是一旦选择了两个以上,它就会这样做(例如,选择3 =红色和绿色Black)。

1 个答案:

答案 0 :(得分:3)

使用,加入除最后一个元素以外的所有元素。在最后一个元素后附加&

if (count($colours) > 1) {
    $lastColour = array_pop($colours);
    echo implode(', ', $colours) . ' & ' . $lastColour;
} else {
    echo current($colours);
}

Example