Forum und email

strtok

(PHP 4, PHP 5)

strtok — 문자열을 토큰화 합니다.

설명

string strtok ( string $arg1 , string $arg2 )

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로 판단합니다.

참고: split() explode().