此数组包含一个项目列表,我想将其转换为字符串,但我不知道如何使最后一个项目前面有&;/,而不是逗号.
1 => coke 2=> sprite 3=> fanta
应该成为
coke, sprite and fanta
这是常规内爆函数:
$listString = implode(', ', $listArrau);
什么是简单的方法?
此数组包含一个项目列表,我想将其转换为字符串,但我不知道如何使最后一个项目前面有&;/,而不是逗号.
1 => coke 2=> sprite 3=> fanta
应该成为
coke, sprite and fanta
这是常规内爆函数:
$listString = implode(', ', $listArrau);
什么是简单的方法?
适用于任意数量物品的长衬垫:
echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));
或者,如果你really喜欢长篇大论:
$last = array_slice($array, -1);
$first = join(', ', array_slice($array, 0, -1));
$both = array_filter(array_merge(array($first), $last), 'strlen');
echo join(' and ', $both);
关键是,这种切片、合并、过滤和连接可以正确处理all种情况,包括0、1和2项,而不需要额外的if..else
条语句.它恰好可以折叠成一个内衬.