function DativeCase($data, $sex) {
$FirstName = trim($data[0]); $SecondName = trim($data[1]);
# Получаем пол человека:
if ($sex == 2) {
# Склонение фамилии мужчины:
case 'ха':
$FirstName = mb_substr($FirstName, 0, -2).'хи'; break;
default:
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;
}
# Склонение мужского имени:
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 {
# Склоенение женской фамилии
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;
}
# Склонение женского имени:
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";
}
}