doulian1852 2018-10-19 11:28
浏览 42

PHP IF声明允许A,B,C和D.

I want to output a taxonomy so that if one element is selected it shows (e.g. A) that but if two are selected it shows (e.g. A & B) but if more are selected it adds commas then add & to the last one (e.g A, B & C or A, B, C & D)

This is the code I have so far

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

This currently does this (e.g. 1 selected = Red then 2 selected = Red and Green) but once more than two are selected it does this (e.g. 3 selected = Red & GreenBlack).

  • 写回答

1条回答 默认 最新

  • drkjzk3359 2018-10-19 11:33
    关注

    Join all elements using , except last one. Append last element with &:

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

    Example

    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题