ホームページ  >  記事  >  バックエンド開発  >  PHPの文字列比較・検索方法を詳しく解説

PHPの文字列比較・検索方法を詳しく解説

WBOY
WBOYオリジナル
2016-07-25 08:54:061006ブラウズ
  1. var_dump(0 == 'test');
  2. var_dump(0 == '');
  3. var_dump(5 > 't');
  4. var_dump(strcmp(5, 't'));
コードをコピーします

結果は次のとおりです(1番目から3番目の結果は間違っており、4番目の結果のみが正しいです): 4bool(true) ブール(真) ブール(真) int(-1) 2.文字列処理 1. 部分文字列 $sub = substr(文字列, 開始[, 長さ]); 2. 部分文字列の置換 $newstring = substr_replace(文字列, 新しい, 開始[, 長さ]); この関数を使用して、文字列の挿入および削除操作を実装します。この関数の開始点と長さは負の数にすることができます。それぞれ、末尾から数えて、最後の数桁を置換せずに保持することを意味します。 3. 文字列の逆順 $newstring = strrev(文字列); 4. 文字列を繰り返す $newstring = str_repeat(文字列, カウント); count 回繰り返す新しい文字列を返します。 5. 文字列を入力します $newstring = str_pad(to_pad, length[, with[, type]]); その中には、str_pad_right (デフォルト)、str_pad_left、および str_pad_both の 3 つのタイプがあり、デフォルトはスペースです。この関数は、to_pad 文字列が length の文字列に埋められることを示します。 次のコード:

  1. // 部分文字列

  2. var_dump(substr('1234567890', 8)) // 90
  3. var_dump(substr('1234567890', 0, 2)); // 12
  4. // 部分文字列を反転します
  5. var_dump(substr('1234567890', -8)) // 34567890
  6. var_dump(substr('1234567890', -8, -2)); // 345678
  7. var_dump (substr( '1234567890', -8, 2)); // 34

  8. //

  9. var_dump(substr_replace('1234567890', 'a', 0, 0)); // a1234567890
  10. / / 削除
  11. var_dump(substr_replace('1234567890', '', 8)); // 12345678
  12. // 逆方向に削除
  13. var_dump(substr_replace('1234567890', '', -2, -1)) / / 123456780
  14. //
  15. var_dump(substr_replace('1234567890', 'a', 0, 1)); // a234567890
  16. // 逆方向に置換
  17. var_dump(substr_replace('1234567890', 'a', - 2 , -1)); // 12345678a0

  18. // 文字列反転

  19. var_dump('1234567890')); // 0987654321

  20. // 文字列を繰り返す

  21. var_dump(str_repeat('12', 3)); // 121212

  22. // 文字列を埋める

  23. var_pad('a', 10, '12')); // a121212121
  24. var_dump(str_pad('a', 10, '12', str_pad_left)); // 121212121a
  25. var_dump(str_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) を使用します。 コード:

  1. $str = '1,2,3';

  2. $arr1 =explode(',', $str); // array('1', '2', '3) ')
  3. $arr2 =explode(',', $str, 2); // array('1', '2,3')

  4. $str1 = implode(',' , $arr1); // '1,2,3'

  5. $str2 = strtok($str, ','); // 1

  6. $str3 = strtok(','); ; // 2
  7. $str4 = strtok(','); // 3

  8. // array(86, 10, 88888888, 'beijin')

  9. $arr3 = sscanf('+86) (10)88888888 北京', '+%d(%d)%d %s');
コードをコピー

4.文字列検索 phpでは文字列検索には3つのシリーズがあります。位置を返し、文字列を返し、マスクの数を照合します。その中には、位置を返す 2 つの関数 strpos() と strrpos() があり、文字列を返す 2 つの関数 strstr() と strchr() もあります。また、マスク マッチング数値を返す関数には strspn() と strcspn() があります。 。 strpos は左から数えることを意味し、検索する文字列が最初に出現する位置を返します。 strrpos は右から数えることを意味し、検索する文字列が最初に出現する位置を返します。 strstr は、左から数えることを意味し、検索対象の文字列 (検索文字列を含む) の最初から最後までの部分文字列を返します。strstr は、文字を表すために ASCII コード番号を使用できます。 ; strchr strstr のエイリアスです。strrchr は、文字の最後に出現した部分から最後までの部分文字列を返します。 strspn は、マスクされていない最初の出現前の部分文字列の文字数を左から数えることを意味し、strcspn は、マスクが最初に出現する前の部分文字列の文字数を左から数えることを意味します。 コード:

  1. $pos = strpos('これは hello world プログラム', ' ') // 4

  2. $pos = strpos('this a hello world プログラム', 32); 4

  3. $pos = strrpos('これは hello world プログラム', ' ') // 18

  4. $pos = strrpos('this a hello world プログラム', 32); ;/p>
  5. $str = strstr('これは hello ワールド プログラム', ' '); // " これは hello ワールド プログラム"

  6. $str = strstr('これは hello ワールド プログラム', 32) ; // "hello world プログラム"

  7. $str = stristr('this a hello world プログラム', ' a') // "hello world プログラム"

  8. $str = stristr ('これは hello ワールド プログラム', 65); // "これは hello ワールド プログラム"

  9. $str = strrchr('これは hello ワールド プログラム', ' '); Program"

  10. $str = strrchr('this a hello world Program', 32); // "プログラム"

  11. $str1 = "12345 12345 12345";

  12. $len = strspn($ str1, '12345'); // 5
  13. $len = strcspn($str1, ' ') // 5

コードをコピーします
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。