ホームページ > バックエンド開発 > PHPチュートリアル > PHP の strtok に関する 1 つの質問

PHP の strtok に関する 1 つの質問

WBOY
リリース: 2016-06-13 13:23:59
オリジナル
1011 人が閲覧しました

php の strtok に関するいくつかの質問
次のコードを参照してください

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php 
$string = "Hello world. Beautiful day today."; 
$token = strtok($string, " "); 
while ($token !== false) { echo "$token<br />"; 
$token = strtok(" "); 
} ?>
ログイン後にコピー

ループ終了の条件は $token === false である必要がありますが、strtok は文字列 Type を返します価値があるのに、どうしてこの 2 つが === になるのでしょうか?
'' === false は true ではないことが知られており、これは $token === '' も true ではないことを意味します。では、$token の最終値は何でしょうか?

-----解決策---------
PHP は弱い型指定言語です。この例を見てみましょう

$str='';

$token=strtok($str,'');

var_dump ( $token);

この時に返されるのは bool(false)

見たでしょうか?つまり、これが使われています!==FALSE;

------解決策------------------
通常の状況では、strtok は文字列を返しますが、最後の文字列が見つかると文字列は消えます。このときの戻り値は文字列または NULL ではなく、この関数を作成した人によって規定されています。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート