php マニュアル

version PHP 4.1.0 - PHP 5.x.x (newer)

PHP   Pear   MySQL  

strtok

(PHP 4, PHP 5)

strtok文字列をトークンに分割する

説明

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

strtok() は文字列 (str) を 何らかの文字 token によって区切られている小さな文字列 (トークン) に分割します。 "This is an example string" のような文字列がある場合、 空白文字をトークンとするとこの文字列を個々の単語に分割することができます。

strtok は最初のコールの時のみ string 引数を使用することに注意してください。 strtok は、文字列のどこにいるのかの情報を保持しているため、 2回目以降のコールではトークンのみを必要とします。 最初からやりなおす場合や新しい文字列をトークンに分割する場合、 初期化するために再度string引数を指定してstrtokをコールします。 文字列は、引数の文字のどれかが見つかったはトークンに分割されます。

パラメータ

str

より小さい文字列 (トークン) に分割する文字列。

token

str を分割する際に使用する区切り文字。

返り値

文字列トークンを返します。

例1 strtok() の例

<?php
$string 
"This is\tan example\nstring";
/* タブと改行をトークンの区切りとして使用します */
$tok strtok($string" \n\t");

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

空の部分が見つかった場合の動作は 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)

注意

警告

この関数は論理値 FALSE を返す可能性がありますが、FALSE として評価される値を返す可能性もあります。 詳細については 論理値の セクションを参照してください。この関数の返り値を調べるには ===演算子 を 使用してください。

参考

  • split() - 正規表現により文字列を分割し、配列に格納する
  • explode() - 文字列を文字列により分割する


 
 

Add Comment

※半角英数

Add Comment  (注) 修正するときは、以前入力したKeyを入力してください。(単純なキーの場合、上書きされてしまいます)

 
 

Comment

コメントはまだ登録されていません。一番乗りで関数の利用方法を書いてみませんか?

 
 
 
 
New Entry

php/function.preg-match.html

先頭3桁が070、080、090のいずれかで始まる電話番号にマッチするパターン

Show Detail

php/function.mb-strimwidth.html

文字コードを指定して、全角半角が混在している文字列を短縮。

Show Detail

mysql/index.html

H7EnFK dvyozfiiutul, [url=http://mcfonuzjslbq.com/]mcfonuzjslbq[/url], [link=http://rosbokkudfzh.com/]rosbokkudfzh[/link], http://stjnnhsdhiyo.com/

Show Detail

: JAPANESE/index.html

Замечательно, это весьма ценное сообщение Очень любопытно :) _________________________________________________________________________ http://trustavia.ru/communication/forum/user/4652/ http://omax.ru/communication/forum/user/1089/

Show Detail

index.html

はじめてのコメント

Show Detail