Добрый день, подскажите как извлечь в другое поле только Имя из поля ФИО в той же таблице? Я так понимаю это можно сделать с помощью вычислений, но не силен в этом вопросе, может у кого-то есть готовое решение? Буду очень признателен.
1
Скопировать Имя из поля ФИО
Автор barakus, 26 июля 2017 14:45
Сообщений в теме: 5
#1
Отправлено 26 Июль 2017 - 14:45
#2
Отправлено 27 Июль 2017 - 09:01
$words = explode(" ", $line['ФИО']); $line['Имя'] = $words[0];
#3
Отправлено 27 Июль 2017 - 20:47
CbCoder (27 Июль 2017 - 09:01) писал:
$words = explode(" ", $line['ФИО']); $line['Имя'] = $words[0];
$line['Имя'] = $words[0];
А если ФИО один раз будет записано как "Иван Иванович Иванов", а другой раз - "Иванов Иван Иванович"?
Первый раз имя получится "Иван", а второй "Иванов". А что так и будет - к гадалке не ходи.
Как то неопределенно это. Вряд ли получится без подключения специализированных сервисов, типа https://dadata.ru/suggestions/#name
Сообщение отредактировал maksn: 27 Июль 2017 - 20:56
#4
Отправлено 28 Июль 2017 - 09:43
Да, немного тупанул, сама аббревиатура ФИО и традиция написания подразумевает что имя скорее будет вторым, т.е. правильнее прописать $line['Имя'] = $words[1]; Понятно что это не гарантирует того что именно имя будет вторым, но вполне подходит как простое решение.
#5
Отправлено 03 Август 2017 - 23:24
Да, спасибо, в моем случае вполне годный вариант, однако есть нюанс, когда перед первым словом стоит пробел(случайно при копировании), то берется Фамилия вместо Имени. От этого можно как-то защититься?
#6
Количество пользователей, читающих эту тему: 6
0 пользователей, 6 гостей, 0 анонимных