ホームページ > バックエンド開発 > PHPチュートリアル > strrchr() 関数によって返される結果が間違っている場合があります

strrchr() 関数によって返される結果が間違っている場合があります

WBOY
リリース: 2016-06-13 12:03:52
オリジナル
1413 人が閲覧しました

strrchr() 関数によって返される結果が間違っている場合がありますか?
マニュアルの典型的な例:
echo strrchr("Hello world!","world");
出力は次のとおりです: world!

しかし、試し続けると、これらの奇妙な結果を見つけてください:
echo strrchr("Hello aaaaworld!","aaaaworld");
出力: aworld!

echo strrchr("Hello cacworld!","cacworld");
出力: cworld!

echo strrchr("abc123cache123","cache");
出力: che123

echo strrchr("cache","cache");
出力: che

待ってください。いずれにせよ、戻り値は不完全になり、常に最初の数文字が欠落します。理由はわかりません。 ?
------解決策---------

2 番目のパラメータ:
1。複数の文字が含まれる場合、[最初の文字] のみが使用されます
2. 文字列でない場合は、整数に変換され、文字シーケンス値として扱われます
例: echo strrchr("Hello aaaaworld!","aaaaworld");
検索文字列として a のみを使用し、出力: aworld!
これは正しいです


--- - --解決策------------------
phpマニュアル:
needleに複数の文字が含まれている場合、最初の文字のみが使用されます
針に複数の文字が含まれている場合は、最初の文字のみが使用されます。この動作は strstr() とは異なります。

w3school:
は、検索する文字を指定します。引数が数値の場合、ASCII 数値に一致する文字を検索します。

明らかに、後者は「最初の文字のみを使用する」命令
を無視しますが、「検索する文字」と「検索する文字列」には依然として違いがあります

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート