public static function orList(array $items)
    {
        if (count($items) === 0) {
            throw new LogicException('items must not need to be empty.');
        }
        $selected       = array_slice($items, 0, 5);
        $selectedLength = count($selected);
        $firstSelected  = $selected[0];

        if ($selectedLength === 1) {
            return $firstSelected;
        }

        return array_reduce(
            range(1, $selectedLength - 1),
            static function ($list, $index) use ($selected, $selectedLength) {
                return $list .
                    ($selectedLength > 2 ? ', ' : ' ') .
                    ($index === $selectedLength - 1 ? 'or ' : '') .
                    $selected[$index];
            },
            $firstSelected
        );
    }
public static function orList(array $items)
    {
        if (count($items) === 0) {
            throw new LogicException('items must not need to be empty.');
        }
        $selected       = array_slice($items, 0, 5);
        $selectedLength = count($selected);
        $firstSelected  = $selected[0];

        if ($selectedLength === 1) {
            return $firstSelected;
        }

        return array_reduce(
            range(1, $selectedLength - 1),
            static function ($list, $index) use ($selected, $selectedLength) {
                return $list .
                    ($selectedLength > 2 ? ', ' : ' ') .
                    ($index === $selectedLength - 1 ? 'or ' : '') .
                    $selected[$index];
            },
            $firstSelected
        );
    }
public static function orList ( array $ items ) { if ( count ( $ items ) === 0 ) { throw new LogicException ( 'items must not need to be empty.' ) ; } $ selected = array_slice ( $ items , 0 , 5 ) ; $ selectedLength = count ( $ selected ) ; $ firstSelected = $ selected [ 0 ] ; if ( $ selectedLength === 1 ) { return $ firstSelected ; } return array_reduce ( range ( 1 , $ selectedLength - 1 ) , static function ( $ list , $ index ) use ( $ selected , $ selectedLength ) { return $ list . ( $ selectedLength > 2 ? ', ' : ' ' ) . ( $ index === $ selectedLength - 1 ? 'or ' : '' ) . $ selected [ $ index ] ; } , $ firstSelected ) ; }
@param string[] $items

@return string
@param string [] $items