千万里不及你
可处理任何数量项目的长衬板:echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));或者,如果您真的更喜欢冗长:$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);关键是,这种切片,合并,过滤和联接可以正确处理所有情况,包括0、1和2项目,而无需额外的if..else语句。而且它恰好可以折叠成单线。