1. 文字列比較
PHP では、== (二重等号) または === (三重等号) を使用して文字列を比較できます。 2 つの違いは、2 つの等号は型を比較しないのに対し、3 つの等号は型を比較しますが、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]]);
type には、STR_PAD_RIGHT (デフォルト)、STR_PAD_LEFT、および STR_PAD_BOTH が含まれます。この関数は、to_pad 文字列が length の文字列に埋められることを示します。 次のコード:
コードをコピーします
コードは次のとおりです:
// 部分文字列var_dump(substr('1234567890', 8)) // 90var_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('これは hello world プログラムです', ' ') // 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 ワールド プログラム', ' A'); // "hello ワールド プログラム"
$str = stristr('これは hello ワールド プログラム', 65); // "hello world プログラム" Program"
$str = strrchr('これは hello ワールド プログラム', ' '); // "プログラム"
$str = strrchr('これは hello ワールド プログラム', 32); // " プログラム"
$str1 = "12345 12345 12345";
$len = strspn($str1, '12345') // 5
リファレンス: PHP プログラミング、2003 年、第 4 章 文字列、文字列の比較。
http://www.bkjia.com/PHPjc/323152.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/323152.html
技術記事
1. 文字列比較 PHP では、== (二重等号) または === (三重等号) を使用して文字列を比較できます。 2 つの違いは、2 つの等号は型を比較しないのに対し、3 つの等号は型を比較し、変換しないことです...