發新話題

[分享] 《PHP》『字串函式庫』

《PHP》『字串函式庫』similar_text 計算二字串間的相似度

similar_text ---  計算二字串間的相似度

語法 : int similar_text (string first, string second [, double percent])

說明 :

計算二字串間的相似度,敘述在Oliver [1993]。這個執行不使用Oliver假定碼(pseudo code)中的堆放(stack),但遞歸的呼叫或許會加快全部處理的速度,這個演算法的錯綜性是 0(N**3),N是最長字串的長度。

傳遞第三個參數給函式,similar_text( )將會計算出以百分比表示的相似度,它傳回二字串間相配的字串的數目。


TOP

《PHP》『字串函式庫』soundex 計算字串的發音鍵

soundex ---  計算字串的發音鍵

語法 : string soundex (string str)

說明 :

計算字串 str的發音鍵(soundex key)值。

發音鍵有個特性是,相同發音的單字會產生出相同的發音鍵。如果你知道單字的發音但是確不知道拼法時,你就可以使用這個特性,在資料庫中作個簡單的搜尋。此函式會傳回一個4字元長的字串,字串的開頭是個字母。

這個特殊的函式由Donald Knuth敘述在"The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392。

Example :

soundex ("Euler") == soundex ("Ellery") == 'E460';

soundex ("Gauss") == soundex ("Ghosh") == 'G200';

soundex ("Knuth") == soundex ("Kant") == 'H416';

soundex ("Lloyd") == soundex ("Ladd") == 'L300';

soundex ("Lukasiewicz") == soundex ("Lissajous") == 'L222';

TOP

《PHP》『字串函式庫』sprintf 傳回格式化字串

sprintf ---  傳回格式化字串

語法 : string sprintf (string format [, mixed args...])

說明 :

依照格式化字串 format,傳回一字串。

格式化字串是由 0(zero)或是一些命令所構成的,普通的字元(不包含%)會直接地複製到結果,這適用於sprintf( )和printf( )。

各個轉換的規格是由這些元素所構成,依序是 :

非必需選項指定填塞,說明使用何種字元來填塞結果成為適當的字串長度,它可以是個空白字元或是 0(字元 0),它預設上是使用空白來填塞。要替換填塞字元,可以在字首前面加上單引號( ' )來指定,參考下面的範例。
非必需選項指定對齊方式,說明結果應該要靠左對齊還是靠右對齊,預設是靠右對齊,可以使用字元 - 來使它靠左對齊。

非必需選項指定寬度,說明這個轉換要產生出多少(最少)字元。

非必需選項指定精準度,說明要顯示到小數點第幾位,這個選項對於浮點數以外的型態沒有影響,另外一個函式number_format( )有助於將數字格式化。

指定型態說明要將參數看待成何種型態,可能的型態有 :

% - 百分比字元,不需要參數

b - 將參數看待成整數,而且結果為二進制的值

c - 將參數看待成整數,而且結果為此ASCII值的字元

d - 將參數看待成整數,而且結果為十進位的數值

f - 將參數看待成浮點數,而且結果為浮點數

o - 將參數看待成整數,而且結果為八進制的數值

s - 將參數和結果都看待成字串

x - 將參數看待成整數,而且結果為十六進制的數值(小寫字母)

X - 將參數看待成整數,而且結果為十六進制的數值(大寫字母)

Example :

<?php

    $isodate = sprintf ("%04d-%02d-%02d", $year, $month, $day);

?>

Example :

<?php

    $money1 = 68.75;

    $money2 = 54.35;

    $money = $money1 + $money2;

    // echo $money will output "123.1";

    $formatted = sprintf ("%01.2f", $money);

    // echo $formatted will output "123.10"

?>

參考 : printf( )  sscanf( )  fscanf( )  number_format( )

TOP

《PHP》『字串函式庫』strcasecmp 不分大小寫字串比對

strcasecmp ---  不分大小寫字串比對

語法 : int strcasecmp (string str1, string str2)

說明 :

如果 str1小於 str2則傳回小於零的值;如果 str1大於 str2則傳回大於零的值;若二字串相等則傳回零。

Example :

<?php

    $var1 = "Hello";

    $var2 = "hello";

    if (!strcasecmp ($var1, $var2)) {

            echo '$var1 is equal to $var2 in a case-insensitive string comparison';

    }

?>

參考 : ereg( )  strcmp( )  substr( )  stristr( )  strstr( )

TOP

《PHP》『字串函式庫』strchr 找出第一次出現的字元

strchr ---  找出第一次出現的字元

語法 : string strchr (string haystack, string needle)

說明 :

此函式是strstr( )的別名,而且用法也都相同。

TOP

《PHP》『字串函式庫』strcmp 字串比對

strcmp ---  字串比對

語法 : int strcmp (string str1, string str2)

說明 :

如果 str1小於 str2則傳回小於零的值;如果 str1大於 str2則傳回大於零的值;若二字串相等則傳回零。

注意 : 這個比對是會區分大小寫

參考 : ereg( )  strcasecmp( )  substr( )  stristr( )  strncmp( )  strstr( )

TOP

《PHP》『字串函式庫』strcspn 找出沒有比對到的最初部份的長度

strcspn ---  找出沒有比對到的最初部份的長度

語法 : int strcspn (string str1, string str2)

說明 :

傳回 str1最初的部份的長度,這個部份是不包含任何 str2中的字元。

參考 : strspn( )

TOP

《PHP》『字串函式庫』strip_tags 去除字串中的HTML和PHP標籤

strip_tags ---  去除字串中的HTML和PHP標籤

語法 : string strip_tags (string str [, string allowable_tags])

說明 :

此函式試著從給予的字串中去除所有HTML和PHP標籤,如果是不完整或是假的標籤時則會有錯誤,它和fgetss( )使用相同的方法去除標籤。

你可以使用第三個參數來指定不去除那些標籤。

注意 : allowable_tags增加在PHP 3.0.13,PHP 4B3中

TOP

《PHP》『字串函式庫』stripcslashes 去除addcslashes引用的斜線

stripcslashes ---  去除addcslashes( )引用的斜線

語法 : string stripcslashes (string str)

說明 :

傳回去除反斜線後的字串,認出C-like \n , \r ...,八進制和十六進製表示。

注意 : 新增在PHP4b3-dev

參考 : addcslashes( )

TOP

《PHP》『字串函式庫』stripslashes 去除addslashes引用的斜線

stripslashes ---  去除addslashes( )引用的斜線

語法 : string stripslashes (string str)

說明 :

傳回去除反斜線後的字串,連續的二個反斜線會成為一個反斜線。

參考 : addslashes( )

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。