strtok
(PHP 3, PHP 4 , PHP 5)
strtok -- 문자열을 토큰화 합니다.
설명
string
strtok ( string arg1, string arg2)
strtok()는 arg2안의 어떠한
문자를 기준으로 하여, 문자열(arg1)을 작은
문자열들(토큰)로 나눕니다.
즉, "This is an example string"이라는 문자열이 있을 때, 공백 문자를
사용하여 각각의 단어를 토큰으로 만들 수 있습니다.
예 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에서 바뀌었습니다. 이전의 동작은
빈 문자열을 반환하였지만, 새로운, 올바른 동작은 그 문자열 부분을
넘어갑니다.
예 2. 이전 strtok() 동작
<?php $first_token = strtok('/something', '/'); $second_token = strtok('/'); var_dump($first_token, $second_token); ?>
|
출력:
string(0) ""
string(9) "something" |
|
예 3. 새로운 strtok() 동작
<?php $first_token = strtok('/something', '/'); $second_token = strtok('/'); var_dump($first_token, $second_token); ?>
|
출력:
string(9) "something"
bool(false) |
|
토큰이 "0"일수 있는 점에 주의하십시오. 이는 조건문에서 FALSE로
판단합니다.
참고: split()
explode().