Просмотр поста

.
Jahak

aNNiPAk, Пойдёт?

/*
 * Copyright (C) 2015 Jahak
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
/**
 * @param string $string
 * @return array
 * @throws Exception
 */
function strUpper( $string )
{
    $string = strtolower($string);

    if ( strlen($string) < 2 )
    {
        throw new Exception('Длинна строки меньше двух символов!');
    }

    $strtoupper = $return = array();

    foreach (str_split($string) as $value)
    {
        $strtoupper[] = strtoupper($value);
        $implode = implode($strtoupper);
        $return[] = $implode . (substr($string, strlen($implode))? : '');
    }

    array_unshift($return, $string);

    return $return;
}

$dictionary = array(
    'aNNiPAk', 'ramzes', 'Koenig', 'reaper', 'Jahak'
);
foreach ($dictionary as $string)
{
    echo '<b>', $string, '</b><br>';
    try {
        foreach (strUpper($string) as $strUpper)
        {
            echo '&nbsp;&nbsp;&nbsp;&nbsp;' . $strUpper . '<br>';
        }
    } catch ( Exception $exc ) {
        echo $exc->getMessage() . '<br>';
    }
}