Лучший способ превратить строку в 2 переменные - PullRequest
2 голосов
/ 30 августа 2011

У меня возникли проблемы с анализом имени и фамилии из строки в 2 разных переменных.

Строка всегда имеет следующий формат: «Смит, Джон» или «Доу, Джейн»

Есть ли функция, которая может разделить имя и фамилию на две разные переменные, например ...

$firstname = "John"
$lastname = "Smith"

Ответы [ 4 ]

8 голосов
/ 30 августа 2011

Используйте list с explode следующим образом:

list($firstname, $lastname) = explode(',', $yourString);

Возможно, вам придется использовать trim, чтобы удалить любые пробелы из этих переменных.

1 голос
/ 30 августа 2011
$name = "Smith, John";
$expl = explode(', ', $name);
$firstname = $expl[1];
$lastname = $expl[0];
echo $firstname.' '.$lastname;
1 голос
/ 30 августа 2011

Я бы использовал для этого регулярное выражение, чтобы входные данные могли быть незначительными (например, «Смит, Джон», «Смит, Джон», «Смит, Джон» или «Смит, Джон»)

Вы можете сделать что-то подобное для regexp "\ w ([az] +) \ w", и тогда фамилия будет вашим первым совпадением, а имя будет вашим вторым совпадением.

1 голос
/ 30 августа 2011

explode () разбивает строку на основе другой строки и возвращает массив.

Вы можете сделать:

$name = "Smith, John";

$name_array = array();

$name_array = explode(",", $name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...