ホームページ > php教程 > php手册 > PHP学習文字列の比較と検索

PHP学習文字列の比較と検索

WBOY
リリース: 2016-06-13 12:10:34
オリジナル
1294 人が閲覧しました

1. 文字列の比較
PHP では、== (二重等号) または === (三重等号) を使用して文字列を比較できます。 2 つの違いは、二重等号は型を比較せず、三重等号は型を比較しますが、左側に数値がある場合、二重等号と比較するときに型を変換しないことです。等号の右側にある場合、他の値は数値として変換されて比較されます。この場合、純粋な文字列または NULL の場合は、比較のために 0 に変換されます。同様に、大なりまたは等号は等号と同じであるため、比較中に誤った結果が発生する可能性があります。
つまり、PHP の組み込み関数 strcmp と strcasecmp を使用して文字列を比較できます。このうち、strcasecmp は strcmp の変形で、文字列を小文字に変換してから比較します。 次のコード:

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


var_dump(0 == 'Test'); 🎜>var_dump( 0 == '');
var_dump(5 > 'T');
var_dump(5, 'T'));は (1 番目から 3 番目の結果は正しくありません。4 番目のみが正しい):


コードをコピー

コードは次のとおりです: bool(true) bool(true)

bool(true)

int(-1)



2. 文字列処理

1. 部分文字列
$sub = substr(string, start[, length]); 2. 部分文字列の置換
$newstring = substr_replace(string, new, start[, length]);この関数は文字列の挿入と削除の操作を実装できます。この関数の開始点と長さは負の数にすることができます。それぞれ、末尾から数えて、最後の数桁を置換せずに保持することを意味します。 3. 文字列の逆順
$newstring = strrev(string);
4. 文字列を count 回繰り返す新しい文字を返します。
5. 文字列の埋め込み
$newstring = str_pad(to_pad, length[, with[, type]]);
タイプは STR_PAD_RIGHT (デフォルト)、STR_PAD_LEFT、STR_PAD_BOTH の 3 種類があります。空間。この関数は、to_pad 文字列を length の文字列に埋めることを意味します。 次のコード:



コードをコピー

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

// Substringvar_dump(substr(' 1234567890', 8)); // 90 var_dump(substr('1234567890', 0, 2)); // 12 // 部分文字列を反転しますvar_dump(substr('1234567890', -8) ) ); // 34567890

var_dump(substr('1234567890', -8, -2)) // 345678

var_dump(substr('1234567890', -8, 2); 🎜 >//挿入
var_dump(substr_replace('1234567890', 'a', 0, 0)); // a1234567890
// 削除
var_dump(substr_replace('1234567890', '', 8) ) ; ('1234567890', 'a', 0, 1)); // a234567890
// 逆方向に置換
var_dump('1234567890', 'a', -2, -1 )); // 12345678a0
// 文字列 reverse
var_dump(strrev('1234567890')) // 0987654321
// 文字列を繰り返します
var_repeat('12', 3); ; // 121212
// 文字列を埋める
var_dump(str_pad('a', 10, '12')) // a121212121
var_pad('a', 10, '12', STR_PAD_LEFT)); // 121212121a
var_pad('a', 10, '12', STR_PAD_BOTH)) // 1212a12121



3. 文字列を分解します。
PHP では、explode は文字列の分解に使用され、implode はマージに使用され (join は implode の別名です)、strtok は文字列をマークするために使用されます。分解できる別の関数 Slipt (通常の分解) もありますが、5.3 以降のバージョンでは推奨されなくなりました。 さらに、PHP には文字列を読み取るための sscanf() 関数があります。
strtok がマークされている場合、strtok($str, $token) を使用して初期化し、値の取得を続けるには strtok($token) を使用します。
コードは次のとおりです:



コードをコピーします

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


$str = '1, 2,3'; $arr1 =explode(',', $str); // array('1', '2', '3')
$arr2 =explode(',', $ str, 2); // array('1', '2,3')
$str1 = implode(',', $arr1); // '1,2,3'
$str2 = strtok($str, ' ,'); // 1
$str3 = strtok(','); // 2

$str4 = strtok(','); // array(86, 10, 88888888, '北京') $arr3 = sscanf(' 86(10)88888888 北京', ' %d(%d)%d %s');
4. 文字列検索
PHP には 3 つの系列の文字列検索があります。位置を返し、文字列を返し、マスクの数を照合します。その中には、位置を返す 2 つの関数 strpos() と strrpos() があり、文字列を返す 2 つの関数 strstr() と strchr() もあります。また、マスク マッチング数値を返す関数には strspn() と strcspn() があります。 。
strpos は、左から数えることを意味し、検索する文字列が最初に出現する位置を返します。strrpos は、右から数えることを意味し、検索する文字列が最初に出現する位置を返します。
strstr は、左から数えることを意味し、検索する文字列 (検索文字列を含む) の最初から最後までの部分文字列を返します。文字を表すのに ASCII コード番号を使用できます。サイズを区別するための検索。strchr は strstr の別名で、文字の最後に出現した部分から最後までの部分文字列を返します。
strspn は、マスクされていない最初の出現前の部分文字列の文字数を左から数えることを意味し、strcspn は、マスクが最初に出現する前の部分文字列の文字数を左から数えることを意味します。
サンプル コード:

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


$pos = strpos('これはこんにちはワールド プログラム' , ' '); // 4
$pos = strpos('これは Hello World プログラムです', 32); // 4
$pos = strrpos('これは Hello World プログラムです', ' '); // 18
$pos = strrpos('これは hello world プログラムです', 32) // 18
$str = strstr('これは hello world プログラムです', ' '); " hello world プログラム"
$str = strstr('これは hello world プログラム', 32); // " hello world プログラム"
$str = stristr('これは hello world プログラム', ' A') ; // "Hello World プログラム"
$str = stristr('これは Hello World プログラム', 65) // "Hello World プログラム"
$str = strrchr('これはhello world プログラム', 65); // "hello world プログラム"
$str = strrchr('これは hello world プログラム', ' '); // " プログラム"
$ str = strrchr('これはハローワールドプログラムです', 32); // "プログラム"
$str1 = "12345 12345 12345"
$len = strspn($str1, '12345'); 5
$len = strcspn($str1, ' '); // 5


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