Photoshop 学習ネットワーク PHP 学習文字列の比較と検索

WBOY
リリース: 2016-07-29 08:44:47
オリジナル
1153 人が閲覧しました

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

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


var_dump(0 == '');
var_dump(5 > 'T) ');
var_dump (strcmp(5, 'T'));

結果は次のとおりです (1 番目から 3 番目の結果は正しくありません。4 番目のみが正しいです):

コードをコピーします。 bool (true)

bool(true)

int(-1)


2. 文字列処理
1. Substring
$sub = substr(string, start[, length) ]);

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



コードをコピー

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

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

var_dump(substr('1234567890', -8, -2);

var_dump(substr('1234567890', -8, 2)); // 34
//
var_replace('1234567890', 'a', 0, 0)); // a1234567890
// 削除
var_dump (substr_replace('1234567890', '', 8)); // 12345678
// 逆方向に削除
var_dump(substr_replace('1234567890', '', -2, -1)); // 123456780
/ / Replace
var_dump(substr_replace('1234567890', 'a', 0, 1)); // a234567890
// 逆方向に置換
var_dump(substr_replace('1234567890', 'a', -2, -1) )); / / 12345678a0
// 文字列反転
var_dump(strrev('1234567890')); // 0987654321
// 文字列を繰り返します
var_dump(str_repeat('12', 3)) // 121212
//文字列
var_dump(str_pad('a', 10, '12')); // a121212121
var_dump(str_pad('a', 10, '12', STR_PAD_LEFT)) // 121212121a
var_dump(' 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(',');

$str4 = strtok(' ,'); // 3
// 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 は左から数えることを意味し、検索する文字列 (検索文字列を含む) の最初から最後までの部分文字列を返します。stristr は文字を表すために ASCII コード番号を使用できます。インセンシティブ検索; strchr は strstr のエイリアスであり、strrchr は文字の最後に出現した部分から最後までの部分文字列を返します。
strspn は、マスクされていない最初の出現前の部分文字列の文字数を左から数えることを意味し、strcspn は、マスクが最初に出現する前の部分文字列の文字数を左から数えることを意味します。
サンプルコード:




コードをコピー

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


$pos = strpos('これはハローワールドプログラムです', ' '); // 4
$pos = strpos('これはハローワールドプログラムです', 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 プログラム', ' '); // "プログラム"
$str = strrchr('これはハローワールドプログラムです', 32); // "プログラム"
$str1 = "12345 12345 12345"; '12345'); // 5
$len = strcspn($str1, ' '); // 5

参考文献: PHP プログラミング、2003 年、第 4 章 文字列の検索と合計の処理
上記は、Photoshop Learning Network の内容を含め、Photoshop Learning Network での PHP 学習の文字列比較と検索を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!