strtok
(PHP 4, PHP 5)
strtok — 문자열을 토큰화 합니다.
설명
strtok()는 arg2 안의 어떠한 문자를 기준으로 하여, 문자열(arg1 )을 작은 문자열들(토큰)로 나눕니다. 즉, "This is an example string"이라는 문자열이 있을 때, 공백 문자를 사용하여 각각의 단어를 토큰으로 만들 수 있습니다.
Example#1 strtok() 예제
<?php
$string = "This is\tan example\nstring";
/* 탭과 줄바꿈도 토큰화 문자열로 사용합니다. */
$tok = strtok($string, " \n\t");
while ($tok) {
echo "단어=$tok<br />";
$tok = strtok(" \n\t");
}
?>
처음 strtok를 호출할 때만 문자열 인자를 사용하는 점에 주의하십시오. 이후의 모든 strtok 호출은 토큰만 사용하며, strtok는 현재 문자열을 계속해서 추적합니다. 새로 시작하거나, 새로운 문자열을 토큰화 하려면 간단히 strtok를 그 문자열로 다시 초기화하십시오. 토큰 인자로 여러 문자를 넣을 수 있는 점에 주의하십시오. 문자열은 그 중의 어떠한 하나라도 발견하였을때 토큰이 됩니다.
빈 부분을 발견하였을때 동작이 PHP 4.1.0에서 바뀌었습니다. 이전의 동작은 빈 문자열을 반환하였지만, 새로운, 올바른 동작은 그 문자열 부분을 넘어갑니다.
Example#2 이전 strtok() 동작
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>
출력:
string(0) "" string(9) "something"
Example#3 새로운 strtok() 동작
<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>
출력:
string(9) "something" bool(false)
토큰이 "0"일수 있는 점에 주의하십시오. 이는 조건문에서 FALSE로 판단합니다.