Использование Tokenizer (strtok) для синтаксического анализа строки. Как я могу получить второй токен строки?

Вопрос:

Я хочу захватить фамилию или второе слово этой переменной

$name = 'Sandra Bullok';
$first_token  = strtok($name, ' ');
echo $first_token;

Выйдет “Сандра”

Как я могу вывести “Булок”,

Лучший ответ:
$name = 'Sandra Bullok';
$parts = explode(' ', $name);
echo $parts[0]; // 'Sandra'
echo $parts[1]; // 'Bullok'

http://php.net/manual/en/function.explode.php

Если вы хотите сделать это с помощью strtok():

$name = 'Sandra Bullok';
$first_token  = strtok($name, ' ');
$second_token = strtok(' ');
echo $first_token; // 'Sandra'
echo $second_token; // 'Bullok'

Ответ №1

Альтернатива:

list($first, $last) = explode(' ', $name);

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

Ответ №2

Если вы хотите использовать strtok, вы должны сделать что-то вроде этого:

$name = 'Sandra Bullok';
$token = strtok($name, ' ');

while ($token !== FALSE) { // enter all possible values
echo $token . ' ';
$token = strtok(' ');
}

ссылка strtok

Оцените статью
TechArks.Ru
Добавить комментарий