Вход
Регистрация
PHP коды
| Склонение "имя фамилия" в дательный падеж
function DativeCase($data, $sex) { $data = explode(' ', $data); $FirstName = trim($data[0]); $SecondName = trim($data[1]); if (!empty($FirstName) && !empty($SecondName)) { # Получаем пол человека: if ($sex == 2) { # Склонение фамилии мужчины: switch (mb_substr($FirstName, -2)) { case 'ха': $FirstName = mb_substr($FirstName, 0, -2).'хи'; break; default: switch (mb_substr($FirstName, -1)) { case 'е': case 'о': case 'и': case 'я': case 'а': break; case 'й': $FirstName = mb_substr($FirstName, 0, -2).'ому'; break; case 'ь': $FirstName = mb_substr($FirstName, 0, -1).'ю'; break; default: $FirstName = $FirstName.'у'; break; } break; } # Склонение мужского имени: switch (mb_substr($SecondName, -1)) { case 'л': $SecondName = mb_substr($SecondName, 0, -2).'лу'; break; case 'а': case 'я': If (substr($SecondName, -2, 1) == 'и') { $SecondName = mb_substr($SecondName, 0, -1).'и'; } else { $SecondName = mb_substr($SecondName, 0, -1).'е'; } break; case 'й': case 'ь': $SecondName = mb_substr($SecondName, 0, -1).'ю'; break; default: $SecondName = $SecondName.'у'; break; } } else { # Склоенение женской фамилии switch (mb_substr($FirstName, -1)) { case 'о': case 'и': case 'б': case 'в': case 'г': case 'д': case 'ж': case 'з': case 'к': case 'л': case 'м': case 'н': case 'п': case 'р': case 'с': case 'т': case 'ф': case 'х': case 'ц': case 'ч': case 'ш': case 'щ': case 'ь': break; case 'я': $FirstName = mb_substr($FirstName, 0, -2).'ой'; default: $FirstName = mb_substr($FirstName, 0, -1).'ой'; break; } # Склонение женского имени: switch (mb_substr($SecondName, -1)) { case 'а': case 'я': If (substr($SecondName, -2, 1) == 'и') { $SecondName = mb_substr($SecondName, 0, -1).'и'; } else { $SecondName = mb_substr($SecondName, 0, -1).'ой'; } break; case 'ь': $SecondName = mb_substr($SecondName, 0, -1).'и'; break; } } return "$FirstName $SecondName"; } }
Онлайн: 2
Реклама
Наш надёжный хостинг партнёр
Купить рекламу