ホームページ > バックエンド開発 > PHPチュートリアル > PHP文字列には比較置換が含まれます

PHP文字列には比較置換が含まれます

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 13:09:03
オリジナル
861 人が閲覧しました

PHP 文字列には比較置換
が含まれています

if(strpos($str,??'ok') !== false) {?

?? //

が含まれます

}

?

?

//間違った方法

?

?

if(strpos($str,??'ok')) { ...??}

は文字列 $str に 'ok' が含まれているかどうかを判断しますが、最近、この方法を使用して 'ok' を含む文字列を判断すると検索されないことがわかりました。 成功しましたが、イライラするのは、この文字列が「ok」で始まっていることです。どうして見つからないのでしょうか?
strpos 関数の定義の導入を検索します。srtpos は検索文字列の最初の出現を返します。 現在の座席、この位置は 0 から計算されます。たとえば、「It's」 ok!」の場合、「ok」の位置は 5 です。見つからない場合は false を返します。問題が見つかりました: PHP の変数の型はすべて弱く型付けされており、変数の型を自由に変換できます。0 は整数クラスと見なすことができます。 type は Boolean 型の false とみなすこともできます。strpos を追加して、文字列の検索位置が位置 0 にあることを判断し、関数は 0 を返します。if ステートメントはこれを 0 として扱うべきですか、それとも false として扱うべきですか? まさにこれが問題のようです。
問題が見つかったら、 に含まれない検索文字列の前に を追加します。 キーワード内の文字は次のとおりです。 つまり、一致がある限り、返される結果は常に >=1 になります。

?

?

?

?

<?php


$url1="http://www.163.com";
$url2="www.163.com";
$url3="xxxxhttp://www.163.com";

$rooturl="xxx";
echo "".strrpos($url1,"http://")."\n";
echo "".strrpos($url2,"http://")."\n";
echo "".strrpos($url3,"http://")."\n";

if(strrpos($url1,"http://")!==false && strrpos($url1,"http://")==0){
echo str_ireplace("http://","",$url1)."__1 have \n";
}

if(strrpos($url2,"http://")!==false && strrpos($url2,"http://")==0){
echo "2 have  \n";
}

if(strrpos($url3,"http://")!==false && strrpos($url3,"http://")==0){
echo "3 have  \n";
}


echo  "".$rooturl."\n";

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