3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
可處理任何數(shù)量項(xiàng)目的長(zhǎng)襯板:
echo join(' and ', array_filter(array_merge(array(join(', ', array_slice($array, 0, -1))), array_slice($array, -1)), 'strlen'));
或者,如果您真的更喜歡冗長(zhǎng):
$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);
關(guān)鍵是,這種切片,合并,過(guò)濾和聯(lián)接可以正確處理所有情況,包括0、1和2項(xiàng)目,而無(wú)需額外的if..else語(yǔ)句。而且它恰好可以折疊成單線。

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以彈出最后一個(gè)項(xiàng)目,然后將其與文本合并:
$yourArray = ('a', 'b', 'c');
$lastItem = array_pop($yourArray); // c
$text = implode(', ', $yourArray); // a, b
$text .= ' and '.$lastItem; // a, b and c
- 3 回答
- 0 關(guān)注
- 305 瀏覽
添加回答
舉報(bào)