строка — PHP strtok () Пожалуйста, дайте мне знать, если я правильно понимаю

Это код:

<?php
$string = 'Hey there buddy';
$token = strtok($string, ' ');
while($token !== false)
{
echo $token."<br/>";
$token = strtok(' ');
}
?>

Я просто хочу знать, правильно ли я понимаю. Вот что я думаю о strtok (). Чтобы использовать strtok (), сначала вы должны установить для него переменную (в этом случае $ token) с входной строкой (в этом случае $ string) и разделителем (в данном случае »). И затем вам придется использовать его снова в цикле while, но на этот раз укажите только разделитель, а не входную строку, потому что он уже подключен к переменной $ string во время нашего первого использования. Я прав?

0

Решение

Да, strtok держит внутренний буфер от первого населения с $string, Впоследствии он возвращает части этого; всякий раз, когда вы передаете его, просто новый персонаж для разделения.

Вы можете сократить цикл с делать пока построить, кстати:

do {
echo $token."<br/>";
}
while (is_str($token = strtok(' ')));

Это также недостаток strtok тем не мение. Поскольку он работает с глобально-внутренним строковым буфером, вы можете использовать только один такой цикл — он не подходит для параллельного разделения подстрок или для работы с другим буфером рядом.

Хотя, когда вы просто разделяете с одним разделителем, вы можете также использовать наиболее часто используемую функцию PHP: explode.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]