php字符串比較函數(shù)用法小結(jié)(strcmp,strcasecmp,strnatcmp及strnatcasecmp)

字號(hào):


    本文實(shí)例分析了php字符串比較函數(shù)用法。分享給大家供大家參考,具體如下:
    直接比較字符串是否完全一致,可以使用"=="來(lái)進(jìn)行,但是有時(shí)候可能需要進(jìn)行更加復(fù)雜的字符串比較,如部分匹配等.
    1.strcmp()函數(shù):該函數(shù)進(jìn)行字符串之間的比較,在比較的時(shí)候,區(qū)分大小寫(xiě).
    聲明: strcmp(string str1,string str2)  
    該函數(shù)對(duì)傳入的兩個(gè)字符串參數(shù)進(jìn)行比較,如果兩個(gè)字符串完全相同,則返回0;如果按照字典順序str1在str2后面,則返回一個(gè)正數(shù);如果str1小于str2,則返回一個(gè)負(fù)數(shù).
    例:
    <?php
     $a = "i want to fly";
     $b = "i want to climb";
     $back = strcmp($a,$b);
     if($back>0)
      echo '$a大于$b';
     elseif($back<0)
      echo '$a小于$b';
     else
      echo '$a等于$b';
    ?> 
    輸出結(jié)果:
    $a大于$b
    2.strcasecmp():該函數(shù)同strcmp函數(shù)基本一致,但是該函數(shù)在比較的時(shí)候,不區(qū)分大小寫(xiě).
    例:
    <?php
      $val1 = "Hello";
      $val2 = "hello";
      if(strcasecmp($val1,$val2)==0)
      echo '$val1和$val2相同(忽略字符串的大小寫(xiě))';
    ?>
    輸出結(jié)果:
    $val1和$val2相同(忽略字符串的大小寫(xiě))
    3.自然排序strnatcmp():該函數(shù)同strcmp函數(shù)用法基本一致,但是比較的原則有所有不同.該函數(shù)并不是按照字典順序排列的,而是按照"自然排序"比較字符串.所謂自然排序就是按照人們的習(xí)慣來(lái)進(jìn)行排序,例如strcmp函數(shù)來(lái)進(jìn)行排序,"4"會(huì)大于"14",而在現(xiàn)實(shí)中,數(shù)字"14"在大于"4",因此strnatcmp函數(shù)是按照后者來(lái)進(jìn)行比較的.
    4.strnatcasecmp():該函數(shù)同strcasecmp函數(shù)用法一致,只是該函數(shù)不區(qū)分大小寫(xiě)
    希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。