ホームページ  >  記事  >  バックエンド開発  >  2 つの文字列の最初の n 文字 (大文字と小文字を区別しない) を比較する PHP 関数

2 つの文字列の最初の n 文字 (大文字と小文字を区別しない) を比較する PHP 関数

黄舟
黄舟オリジナル
2017-11-04 13:30:553248ブラウズ

2 つの 文字列を比較する (大文字と小文字を区別しない):

<?php
echo strncasecmp("Hello world!","hello earth!",6);
?>

定義と使用法

strncasecmp() 関数は 2 つの文字列を比較します (大文字と小文字を区別しない)。

注: strncasecmp() はバイナリセーフであり、大文字と小文字は区別されません。

ヒント: この関数は strcasecmp() 関数に似ていますが、strcasecmp() には長さパラメーターがない点が異なります。

構文

strncasecmp(string1,string2,length)
パラメータ 説明
string1 必須。比較する最初の文字列を指定します。
string2 必須。比較する 2 番目の文字列を指定します。
長さ 必須。比較に使用する文字列あたりの文字数を指定します。

技術的な詳細

戻り値: 関数は次を返します:
  • 0 - 2つの文字列が等しい場合

  • <0 - string1がstring2より小さい場合

  • &g t; ​​0 - string1 が string2 より大きい場合

PHP バージョン: 4.0.2+

更多实例

实例 1

比较两个字符串(不区分大小写,Hello 和 hELLo 输出相同):

<?php
echo strncasecmp("Hello","Hello",6);
echo "<br>";
echo strncasecmp("Hello","hELLo",6);
?>

只是这样就需要转换两次。大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否utf-8,这5个字符的写法,可就多了,比如UTF-8,Utf-8,utf-8等,那我们怎么办呢?strtolower?strupper?不需要啦。。 
strncasecmp($a,$b,$length)就可以了。。 
如果返回是0则相等,那我们怎么判断呢? 
strncasecmp($str,'utf-8',5) == 0那么,传入的参数就是utf8的,是否很方便呢? 
只是这些函数我们平时不太用得到,我看到这个函数的用法却是在 yii framework,他在处理事件的时候,判断前两个字符是否为 on 的时候,就是这样判断的。我也因此学到了一招。 

strncasecmp Definition and Usage 
定义和用法 
The strncasecmp() function compares two strings. 
strncasecmp()函数的作用是:比较字符串的前n个字符(大小写不敏感)。 

以上が2 つの文字列の最初の n 文字 (大文字と小文字を区別しない) を比較する PHP 関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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