-1

重複の可能性:
配列を「,」で分解し、最後の項目の前に「and」を追加

Wordpress では、PHP implode を使用して一連の文字列をコンマで区切り、次のように配列に格納しています。

Wordpress ループはこれを繰り返します:

<?php unset($credits); ?>
<?php if(get_field('song_credits')):
    while(has_sub_field('song_credits')): 
       $credits[] = get_sub_field('artist_name');
    endwhile; ?>
    <p><?php echo implode(', ', $credits); ?>.</p>
<?php endif; ?>

基本的に、一連の文字列が $credits 配列に格納され、implode を使用して各文字列をカンマで区切ります。

コンマの代わりに最後の単語の直前にアンパサンドを追加する必要があります。これはここで可能ですか?

4

2 に答える 2

1

implodeこれを直接行うことはできませんが、それほど難しくありません。

switch (count($credits)) {
    case 0:
        $result = '';
        break;
    case 1:
        $result = reset($credits);
        break;
    default:
        $last = array_pop($credits); // warning: this modifies the array!
        $result = implode(', ', $credits).' & '.$last;
        break;
}
于 2012-09-21T13:19:20.683 に答える
0

取得元:「、」で配列を内破し、最後の項目の前に「と」を追加します

<p><?php echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($credits, 0, -1))), array_slice($credits, -1)))); ?></p>

これはうまくいきます

于 2012-09-21T13:23:48.790 に答える