PHP strcmp,strnatcmp,strncmp函數的區別,strnatcmpstrncmp_PHP教程

來源:互聯網
上載者:User

PHP strcmp,strnatcmp,strncmp函數的區別,strnatcmpstrncmp


字串比較說明
當s1
當s1=s2時,傳回值= 0
當s1>s2時,返回正數

 1 php 2 $str1 = 'str100'; 3 $str2 = 'str20'; 4 echo strcmp($str1, $str2)."
"; 5 //輸出-1 6 echo strnatcmp($str1, $str2)."
"; 7 //輸出1 8 echo strncmp($str1, $str2, 5)."
"; 9 //輸出-110 11 ?>

strcmp(str1, str2)函數按照字元比較兩個字串,即兩個字串自左向右逐個字元比較(按ASCII值大小相比較),直到出現不同的字元或遇'\0'為止。如:"A"<"B" "a">"A" "computer">"compare"

strnatcmp(str1, str2)函數使用自然排序演算法比較字串該函數實現了以人類習慣對數字型字串進行排序的比較演算法,這就是“自然順序”。

strncmp(str1, str2, len)函數比較的原理參照strcmp(str1, str2)函數,區別在於只是比較字串的開頭的len個字元。

ps:以上三個函數都是區分大小寫,若是對比較的字串不區分大小寫,則有另外三個類似函數:strcasecmp,strnatcasecmp,strncasecmp.


字串比較函數strcmp()與strncmp()

比較一下:
函數原型:extern int strcmp(const char *s1,const char * s2);
int strncmp(char *str1, char *str2, int maxlen);
可以看出strncmp多一個參數maxlen,區別就在這裡,這個表示的是比較字串的前maxlen長度的字元

兩者傳回值也不同:
strcmp,當s1 當s1==s2時,返回0
當s1>s2時,返回正數
strncmp:如果前maxlen位元組完全相等,傳回值就=0;
如果在前maxlen位元組比較過程中,出現str1[n]與str2[n]不等,則返回(str1[n]-str2[n])。
 

字串比較函數strcmp()與strncmp()

函數:int strcmp (const char *s1, const char *s2)
這個函數用來比較s1和s2字串,這個函數將返回一個值,它的符號與第一對不同的字元的比較結果相關。
如果兩個字串相等的話,strcmp將返回0。
如果s1是s2的一個子串的話,s1小於s2
此外還有函數
int strncmp (const char *s1, const char *s2, size_t size)
此函數與strcmp極為類似。不同之處是,strncmp函數是指定比較size個字元。也就是說,如果字串s1與s2的前size個字元相同,函數傳回值為0。
 

http://www.bkjia.com/PHPjc/887684.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/887684.htmlTechArticlePHP strcmp,strnatcmp,strncmp函數的區別,strnatcmpstrncmp 字串比較說明 當s1s2時,返回為負數 當s1=s2時,傳回值= 0 當s1s2時,返回正數 1 ? php 2 $st...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.