- array_splice: documentation ( source)
- array_slice: documentation ( source)
- implode: documentation ( source)
- range: documentation ( source)
<?php
/**
* SO Q&A: Comma separated list from array with "and" before last element
*
* @link https://stackoverflow.com/a/18476721/367456
*/
$numbers = range(1, 4);
array_splice($numbers, -2, 2, implode(' and ', array_slice($numbers, -2)));
echo implode(', ', $numbers); # prints "1, 2, 3 and 4"