детск(ий|ая|ое)
<?php
$names = [
'Абдоминальная хирургия',
'Бариатрическая хирургия',
'Бариатрическая хирургия',
'Венерологическая клиника',
'Детская клиника',
'Дерматология',
'Детская урология',
'Детский тест',
'Детское тесто',
];
$result = [];
foreach ($names as $name) {
$l = mb_strtoupper(mb_substr(
trim(preg_replace('!детск(ий|ая|ое)!usi', '', $name)),
0, 1
));
$result[$l][] = ['NAME' => $name];
}
print_r($result);
...
[У] => Array
(
[0] => Array
(
[NAME] => Детская урология
)
)
[Т] => Array
(
[0] => Array
(
[NAME] => Детский тест
)
[1] => Array
(
[NAME] => Детское тесто
)
)
usort($array, fn ($a, $b) => $a['NAME'] <=> $b['NAME']);
usort($array, function ($a, $b) {
$aWords = explode(' ', $a['NAME']);
$bWords = explode(' ', $b['NAME']);
return $aWords[1] <=> $bWords[1];
});
INSERT INTO `table` (`DATE_CREATE`, `DATE_UPDATE`, `ACTIVE`, `USER_ID`, `VALUE`) VALUES
(NOW(), NOW(), 1, 1, 1),
(NOW(), NOW(), 1, 1, 2),
(NOW(), NOW(), 1, 1, 3),
/*...*/
(NOW(), NOW(), 1, 1, 9999);