strtok( string $str, string $token )

strtok( string $str, string $token )と、strtok( string $token )は、文字列「$str」をトークン(部分文字列)に分割する組み込み関数。

1つ目のトークン取得に、strtok( string $str, string $token )を使い、2つ目のトークン取得に、strtok( string $token )を使う。

定義

文字列から1つ目のトークンを取得

strtok( 文字列型 $str, 文字列型 $token );

文字列「$str」の先頭から、区切文字「$token」までの部分文字列を取得する。

パラメータ

文字列型 $str

分割したい文字列を指定する。

文字列型 $token

区切文字。

区切文字を並べることで、複数の区切文字を指定することもできる。

文字列から2つ目以降のトークンを取得

strtok( 文字列型 $token );

直前に取得したトークンの終わりから、区切文字「$token」までの部分文字列を取得する。

パラメータ

文字列型 $token

区切文字。

区切文字を並べることで、複数の区切文字を指定することもできる。

戻り値

トークン(部分文字列)。

構文

文字列から1つ目のトークンを取得

トークン = strtok( 文字列, 区切文字 );

文字列から2つ目以降のトークンを取得

トークン = strtok( 区切文字 );

2つ目以降のトークンを取得するときは、引数に「区切文字」だけを指定する。

サンプル

2つ目以降のトークンを取得するときは、引数に「区切文字」だけを指定する点に注目。

文字列をトークンに分割

<?php
$string = "sampleA,sampleB sampleC  sampleD\tsampleE\nsampleF,sampleG";

$tok = strtok( $string, ", \n\t" );

while( $tok ){
    $number++;
    echo "$number: $tok<br />";
    $tok = strtok( ", \n\t" );
}
?>

↓↓↓出力結果↓↓↓

1: sampleA
2: sampleB
3: sampleC
4: sampleD
5: sampleE
6: sampleF
7: sampleG

URLを、「/」区切りで分割

<?php
$string = "http://alphasis.info/php/built-in-functions/";

$tok = strtok( $string, "/" );

while( $tok ){
    $number++;
    echo "$number: $tok<br />";
    $tok = strtok( "/" );
}
?>

↓↓↓出力結果↓↓↓

1: http:
2: alphasis.info
3: php
4: built-in-functions

CSV形式のデータを、カンマ区切りで分割

<?php
$string = "サンプルA,サンプルB,サンプルC";

$tok = strtok( $string, "," );

while( $tok ){
    $number++;
    echo "$number: $tok<br />";
    $tok = strtok( "," );
}
?>

↓↓↓出力結果↓↓↓

1: サンプルA
2: サンプルB
3: サンプルC

スポンサード リンク

カテゴリー: PHP, 分割, 文字列, 組み込み関数 タグ: パーマリンク