ホームページ  >  記事  >  バックエンド開発  >  文字列に特定の文字が含まれているかどうかを調べる php strstr 検索関数_PHP チュートリアル

文字列に特定の文字が含まれているかどうかを調べる php strstr 検索関数_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:36:52954ブラウズ

PHP 文字列に他の文字が含まれているかどうかを判断する

次の関数を使用して、文字列に他の文字が含まれているかどうかを判断することは、PHP では非常に一般的な操作です。 非常に簡単ですが、いくつかの関数を書きました。品質はそれほど高くないかもしれませんが、練習として使用してください。 これらの機能があなたのお役に立てれば大変嬉しく思います。これらの機能の中で、私は 4 番目の機能が好きです。 。 。

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

/**
* 次の関数は、文字列に別の文字が含まれているかどうかを判断するために使用できます。
* 文字列に他の文字が含まれているかどうかを判断するのは、PHP では非常に一般的な操作です。
* 非常に簡単ですが、いくつかの関数を書きました。品質はそれほど高くないかもしれませんが、練習として使用してください。
* これらの機能があなたのお役に立てれば、とても嬉しいです。
*/
/**
* strpos() 関数を使用します
* @paramknown_type $haystack
* @paramknown_type $needle
*/
function isInString1($haystack, $needle) {
// $needle が先頭にならないようにします
$haystack = '-_-!'
return (bool)strpos($haystack, $needle)
/**
* 文字列分割を使用します
* @paramknown_type $haystack
* @paramknown_type $needle
*/
関数 isInString2( $haystack, $needle) {
$array =explode($needle, $haystack);
return count($array) > 1;
/**
* 正規表現を使用しましたが、特に $needle に ^、$、/ などの
* 特殊文字が含まれている場合、この方法はお勧めできません。
* @paramknown_type $haystack
* @paramknown_type $needle
*/
function isInString3( $haystack, $needle) {
$pattern = '/' . '/'
return (bool)preg_match($pattern, $haystack);
/**
* strpos() 関数を使用します
* @paramknown_type $haystack
* @paramknown_type $needle
*/
関数($haystack, $needle) {
return false !== strpos($haystack, $needle);
//テスト
$needle = 'IT'; isInString1($haystack , $needle));


最も単純なものはこれだと思います strpos($a, $b) !== false $b が $a に存在する場合は true、それ以外の場合は false。
!== false (または === false) を使用する理由は、$b が $a の先頭にある場合、関数は int(0) を返し、0 は false ですが、$b は確かに返されるためです。 $a にあるため、!== を使用して型を決定し、それが厳密に false であることを確認してください。昨夜中関村書籍館に行ったところ、strpos === true を判定に使用している本がありましたが、これは非常に間違っています。 。 。
エラーのある本は『PHP就職ガイド』(2012-02-26更新)の107ページです
PHPでネイティブにサポートされている関数は他にもあります(strstr()、stristr()など)。直接判断してください。


定義と使用法

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

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


構文

strstr(string,search)


パラメータの説明
string 必須。検索する文字列を指定します。
検索が必要です。検索する文字列を指定します。引数が数値の場合、ASCII 数値に一致する文字を検索します。

ヒントとメモ
注: この関数はバイナリセーフです。

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


コードをコピーします

コードは次のとおりです:

echo strstr("Hello world!","world");
//出力: world!

例 2
この例では、ASCII 値「o」で表される文字を検索します:


コードをコピーします

コードは次のとおりです:

echo strstr("Hello world! ",111); //出力: o world!
コードをコピーします

コードは次のとおりです。 ?php
$email = 'admin@jb51.net';
$domain = strstr($email, '@'); // @jb51.net を出力します

$user = strstr; '@', true); // PHP 5.3.0 以降
echo $user; //

コードをコピーします;

$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,"city")){
foreach($city_ch_arr as $city_ch_arr_item){
if (@strstr($area_ga,$city_ch_arr_item)){
echo $area_ga.'
';
$s_city=$city_ch_arr_item;
}
}
//見つかりました 次に、次のような状況が発生することがあります。広東省の万里の長城ブロードバンドはすべて省都によって所有されています。
elseif(strstr($area_ga,"Hebei")!==false){
$s_city= "石家荘";
}elseif(str($area_ga,"福建")!==false){
$s_city="福州";
}elseif(strstr($area_ga,"台湾")!== false){
$s_city="台北";
}elseif(strstr($area_ga,"香港")!==false){
$s_city="香港";広西チワン族自治区")!= =false){
$s_city="南寧";
}elseif(strstr($area_ga,"浙江")!==false){
$s_city="杭州";
}elseif(strstr( $area_ga,"江蘇 ")!==false){
$s_city="南京";
}elseif(strstr($area_ga,"山東")!==false){
$s_city="済南"; elseif(strstr($ area_ga,"安徽")!==false){
$s_city="合肥"
}elseif(strstr($area_ga,"湖南")!==false){
$s_city="長沙";
}elseif (strstr($area_ga,"四川省")!==false){
$s_city="成都";
}elseif(strstr($area_ga,"雲南")!==false){
$ s_city="昆明" ;
}elseif(strstr($area_ga,"広東")!==false){
$s_city="広州" ; ==false ){
$s_city ="貴陽";
}elseif(strstr($area_ga,"チベット")!==false){
$s_city="ラサ";
}elseif(strstr($area_ga,"新疆") !==false) {
$s_city="ウルムチ";
}elseif(strstr($area_ga,"モンゴル")!==false){
$s_city="フフホト"; "黒竜江省")! ==false){
$s_city="ハルビン";
}elseif(strstr($area_ga,"遼寧")!==false){
$s_city="瀋陽"; ($area_ga,"吉林")!==false){
$s_city="長春";
}elseif(strstr($area_ga,"河南")!==false){
$s_city="鄭州"; }elseif(strstr( $area_ga,"湖北")!==false){
$s_city="武漢";
}elseif(strstr($area_ga,"山西")!==false){
$s_city="太原";
} elseif(strstr($area_ga,"陝西")!==false){
$s_city="西安";
}elseif(strstr($area_ga,"甘粛")!==false) {
$s_city="蘭州 ";
}elseif(strstr($area_ga,"寧夏")!==false){
$s_city="銀川";
}elseif(strstr($area_ga,"寧夏")! ==false){
$ s_city="海口";
}elseif(strstr($area_ga,"江西省")!==false){
$s_city="南昌"
}elseif(strstr($area_ga,";マカオ")!==false ){
$s_city="マカオ";
}
//存在しない場合は、ローカルマシンなど、デフォルトで広州が表示されます
else{
$s_city="広州" ;
}


上記のコード:
city.dat 一部の都市の形式は次のとおりです



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


広州|深セン|汕頭|恵州|珠海jieyang | yangiang | meizhou | g | | 雷州 | 四恵 |​​ 呉市 |中衛 | 包頭 | 赤峰 | 通寮 | オルドス | フルンブイル | バヤンヌール | ウランキャブ | 満州里 | ジャラントゥン | 玄和 | 奉鎮 | シリンホト | ウランホト |
参考コードをコピー
コードは次のとおりです:


echo strstr('aaaaaaaaaaboaaaaaaaaaaboxccccccbccccccccccccc','box') ."
n";// 出力 boxcccccccccbcccccccccccc
// と完全に一致します。のボックス前の b により停止せずに中間
echo strstr('aaaaaaAbaaa aaaa aaaaaaaboxccccccccccccboxcccccccccccc','box')."
n";
//出力 boxccccccccccboxcccccccccccc // キーワードが 2 つあり、最初の停止に遭遇します。 echo strstr('New Freew to についての無料ニュースレターを購読します','to')."
n" //New Freew to についての無料ニュースレターに出力します?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/322025.html技術記事 PHP は、文字列に他の文字が含まれているかどうかを判断します。PHP では、文字列に他の文字が含まれているかどうかを判断するのは非常に簡単です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:ペソ次の記事:ペソ