ホームページ > バックエンド開発 > PHPチュートリアル > PHPのstrstr、stristr、strpos関数の比較_PHPチュートリアル

PHPのstrstr、stristr、strpos関数の比較_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:13:23
オリジナル
1881 人が閲覧しました

文字を検索する場合、PHP には strstr、stristr、strpos の 3 つの関数が用意されています。これらの関数の使い方は少し異なります。

文法:
文字列 strstr (干し草の文字列、針の文字列)
干し草の山の針から端までの文字列を返します。
戻り値がない場合、つまり針が見つからない場合はFALSEを返す

注: この関数では大文字と小文字が区別されます。

例1

コードは次のとおりです コードをコピー

$city_str=fopen(cgi_path."/data/weather/city.dat","r");
$city_ch=fread($city_str,filesize(cgi_path."/data/weather/city.dat"));
$city_ch_arr=explode("|",$city_ch);
//都市に合わせられれば
if(strstr($area_ga,"都市")){
foreach($city_ch_arr as $city_ch_arr_item){
if(@strstr($area_ga,$city_ch_arr_item)){
echo $area_ga.'
';
エコー $city_ch_arr_item;
$s_city=$city_ch_arr_item;
}
}
}//都市が見つからない場合は、省が見つかるかどうかを確認してください。場合によっては、広東省万里の長城ブロードバンドはすべて省政府に属します
。 elseif(strstr($area_ga,"河北")!==false){
$s_city="石家荘";
}

city.dat にはいくつかの都市が含まれています。フォーマットは次のとおりです
広州|深セン|汕頭|恵州

詳細については、http://www.bKjia.c0m/phper/18/8304359e6918876b45d02c200bc8f193.htmをご確認ください。

stristr() 関数は、別の文字列内で最初に出現した文字列を検索します。

成功した場合は、文字列の残りの部分 (一致する点から) を返します。文字列が見つからない場合は false が返されます。

コードは次のとおりですコードをコピー
echo stristr("Hello world!","WORLD");
?>
出力:

世界!

ストラポス紹介

最初の 2 つと比較すると、検索が成功した後に文字が返されるのに対し、strpos は検索が成功した後に位置を返します。位置が0の可能性があるため、検索失敗の判定には===falseを使用した方が適切です。

針が文字列のヘイスタック内にあるかどうかを判断するだけの場合は、strpos を使用する方がメモリ占有量が少なく、実行速度も速くなります。しかし、strpos は特殊文字をあまりサポートしていません。たとえば、中国語はあまりサポートしていません


コードは次のとおりですコードをコピー
echo strpos("Hello world!","wo");
?>

出力:

6

注: この関数では大文字と小文字が区別されます。大文字と小文字を区別しない検索の場合は、stripos() 関数を使用します。


上記の例と組み合わせると、次のような結論が得られます

strstr は大文字と小文字が区別され、その文字から始まり、存在する場合は true を返し、それ以外の場合は false を返します

strstr 文字は大文字と小文字を区別しません。その文字から検索を開始すると true が返され、それ以外の場合は false が返されます。 strpos では大文字と小文字が区別されます。strpos の検索が成功すると、位置が返されます。位置が0の可能性があるため、検索失敗の判定には===falseを使用した方が適切です。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/629137.html技術記事文字を検索する場合、PHP には strstr、stristr、strpos という 3 つの関数が用意されています。これらの関数の使用方法は少し異なります。 構文: 文字列 st...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート