可能重复:
Implode array with “, ” and add “and ” before last item
在Wordpress中,我使用PHP implode用逗号分隔一系列字符串,这些字符串存储在数组中,如下所示:
Wordpress Loop通过这个迭代:
<?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用逗号分隔每个字符串。
我需要在最后一个单词之前添加一个&符号而不是逗号。这可能吗?
答案 0 :(得分: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;
}
答案 1 :(得分:0)
取自:Implode array with ", " and add "and " before last item
<p><?php echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($credits, 0, -1))), array_slice($credits, -1)))); ?></p>
这很有用