update : 2015.11.03
php.shukuma.com

검색:
 
 
문자열을 토큰화

strtok

(PHP 4, PHP 5)

strtok문자열을 토큰화

설명

string strtok ( string $str , string $token )
string strtok ( string $token )

strtok()token 안의 문자들을 기준으로 하여, 문자열(str)을 작은 문자열들(토큰)로 나눕니다. 즉, "This is an example string"이라는 문자열이 있을 때, 공백 문자를 사용하여 각각의 단어를 토큰으로 만들 수 있습니다.

strtok의 첫번째 호출만 문자열 인수를 받는 점에 주의하십시오. 모든 추가적인 strtok 호출은 토큰만 필요하며, 현재 문자열을 계속해서 따라갑니다. 새로 시작하거나, 새 문자열을 토큰화 하려면, 단순히 문자열 인수와 함께 strtok를 호출하여 초기화합니다. 토큰 인수로 여러 개의 토큰을 넣을 수 있는 점에 주의하십시오. 토큰 인수에 들어있는 어떤 문자 하나로 문자열은 토큰화됩니다.

인수

str

작은 문자열들(토큰)으로 나눌 string.

token

str을 나눌때 쓰는 구분자.

반환값

string 토큰.

예제

Example #1 strtok() 예제

<?php
$string 
"This is\tan example\nstring";
/* 탭과 줄바꿈도 토큰화 문자열로 사용합니다 */
$tok strtok($string" \n\t");

while (
$tok !== false) {
    echo 
"단어=$tok<br />";
    
$tok strtok(" \n\t");
}
?>

빈 부분을 발견하였을때 동작이 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)

주의

Warning

이 함수는 논리 FALSE를 반환하지만, 논리 FALSE로 취급할 수 있는 다른 값을 반환할 수 있습니다. 자세한 정보는 논리형 섹션을 참고하십시오. 이 함수의 반환값을 확인하려면 === 연산자를 이용하십시오.

참고

  • split() - Split string into array by regular expression
  • explode() - 문자열을 문자열로 나눕니다