<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    分享java帶來的快樂

    我喜歡java新東西

    PHP中的字符串函數(shù)(String

    手中的PHP手冊不知道具體是哪個(gè)版本的,只知道是PHP5.1的,有94個(gè)字符串處理函數(shù),真的是有夠多,下面開始按照從簡單到復(fù)雜的順序介紹這些函數(shù)的使用功能和使用方法:
    先給出一個(gè)總表:
    addcslashes
    — 為字符串里面的部分字符添加反斜線轉(zhuǎn)義字符
    addslashes — 用指定的方式對字符串里面的字符進(jìn)行轉(zhuǎn)義
    bin2hex —
    將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制表示
    chop — rtrim() 的別名函數(shù)
    chr — 返回一個(gè)字符的ASCII碼
    chunk_split —
    按一定的字符長度將字符串分割成小塊
    convert_cyr_string — 將斯拉夫語字符轉(zhuǎn)換為別的字符
    convert_uudecode —
    解密一個(gè)字符串
    convert_uuencode — 加密一個(gè)字符串
    count_chars — 返回一個(gè)字符串里面的字符使用信息
    crc32
    — 計(jì)算一個(gè)字符串的crc32多項(xiàng)式
    crypt — 單向散列加密函數(shù)
    echo — 用以顯示一些內(nèi)容
    explode —
    將一個(gè)字符串用分割符轉(zhuǎn)變?yōu)橐粩?shù)組形式
    fprintf —
    按照要求對數(shù)據(jù)進(jìn)行返回,并直接寫入文檔流
    get_html_translation_table — 返回可以轉(zhuǎn)換的HTML實(shí)體
    hebrev —
    將Hebrew編碼的字符串轉(zhuǎn)換為可視的文本
    hebrevc — 將Hebrew編碼的字符串轉(zhuǎn)換為可視的文本
    html_entity_decode —
    htmlentities ()函數(shù)的反函數(shù),將HTML實(shí)體轉(zhuǎn)換為字符
    htmlentities —
    將字符串中一些字符轉(zhuǎn)換為HTML實(shí)體
    htmlspecialchars_decode —
    htmlspecialchars()函數(shù)的反函數(shù),將HTML實(shí)體轉(zhuǎn)換為字符
    htmlspecialchars —
    將字符串中一些字符轉(zhuǎn)換為HTML實(shí)體
    implode — 將數(shù)組用特定的分割符轉(zhuǎn)變?yōu)樽址?br />join —
    將數(shù)組轉(zhuǎn)變?yōu)樽址琲mplode()函數(shù)的別名
    levenshtein — 計(jì)算兩個(gè)詞的差別大小
    localeconv —
    獲取數(shù)字相關(guān)的格式定義
    ltrim — 去除字符串左側(cè)的空白或者指定的字符
    md5_file — 將一個(gè)文件進(jìn)行MD5算法加密
    md5 —
    將一個(gè)字符串進(jìn)行MD5算法加密
    metaphone — 判斷一個(gè)字符串的發(fā)音規(guī)則
    money_format —
    按照參數(shù)對數(shù)字進(jìn)行格式化的輸出
    nl_langinfo — 查詢語言和本地信息
    nl2br — 將字符串中的換行符“\n”替換成“<br
    />”
    number_format — 按照參數(shù)對數(shù)字進(jìn)行格式化的輸出
    ord — 將一個(gè)ASCII碼轉(zhuǎn)換為一個(gè)字符
    parse_str
    — 把一定格式的字符串轉(zhuǎn)變?yōu)樽兞亢椭?br />print — 用以輸出一個(gè)單獨(dú)的值
    printf —
    按照要求對數(shù)據(jù)進(jìn)行顯示
    quoted_printable_decode — 將一個(gè)字符串加密為一個(gè)8位的二進(jìn)制字符串
    quotemeta —
    對若干個(gè)特定字符進(jìn)行轉(zhuǎn)義
    rtrim — 去除字符串右側(cè)的空白或者指定的字符
    setlocale —
    設(shè)置關(guān)于數(shù)字,日期等等的本地格式
    sha1_file — 將一個(gè)文件進(jìn)行SHA1算法加密
    sha1 —
    將一個(gè)字符串進(jìn)行SHA1算法加密
    similar_text — 比較兩個(gè)字符串,返回系統(tǒng)認(rèn)為的相似字符個(gè)數(shù)
    soundex —
    判斷一個(gè)字符串的發(fā)音規(guī)則
    sprintf — 按照要求對數(shù)據(jù)進(jìn)行返回,但是不輸出
    sscanf —
    可以對字符串進(jìn)行格式化
    str_ireplace — 像str_replace()函數(shù)一樣匹配和替換字符串,但是不區(qū)分大小寫
    str_pad —
    對字符串進(jìn)行兩側(cè)的補(bǔ)白
    str_repeat — 對字符串進(jìn)行重復(fù)組合
    str_replace — 匹配和替換字符串
    str_rot13 —
    將字符串進(jìn)行ROT13加密處理
    str_shuffle — 對一個(gè)字符串里面的字符進(jìn)行隨機(jī)排序
    str_split —
    將一個(gè)字符串按照字符間距分割為一個(gè)數(shù)組
    str_word_count — 獲取字符串里面的英文單詞信息
    strcasecmp —
    對字符串進(jìn)行大小比較,不區(qū)分大小寫
    strchr — 通過比較返回一個(gè)字符串的部分strstr()函數(shù)的別名
    strcmp —
    對字符串進(jìn)行大小比較
    strcoll – 根據(jù)本地設(shè)置對字符串進(jìn)行大小比較
    strcspn —
    返回字符連續(xù)非匹配長度的值
    strip_tags — 去除一個(gè)字符串里面的HTML和PHP代碼
    stripcslashes —
    反轉(zhuǎn)義addcslashes()函數(shù)轉(zhuǎn)義處理過的字符串
    stripos — 查找并返回首個(gè)匹配項(xiàng)的位置,匹配不區(qū)分大小寫
    stripslashes
    — 反轉(zhuǎn)義addslashes()函數(shù)轉(zhuǎn)義處理過的字符串
    stristr — 通過比較返回一個(gè)字符串的部分,比較時(shí)不區(qū)分大小寫
    strlen —
    獲取一個(gè)字符串的編碼長度
    strnatcasecmp — 使用自然排序法對字符串進(jìn)行大小比較,不區(qū)分大小寫
    strnatcmp —
    使用自然排序法對字符串進(jìn)行大小比較
    strncasecmp — 對字符串的前N個(gè)字符進(jìn)行大小比較,不區(qū)分大小寫
    strncmp —
    對字符串的前N個(gè)字符進(jìn)行大小比較
    strpbrk — 通過比較返回一個(gè)字符串的部分
    strpos —
    查找并返回首個(gè)匹配項(xiàng)的位置
    strrchr — 通過從后往前比較返回一個(gè)字符串的部分
    strrev —
    將字符串里面的所有字母反向排列
    strripos — 從后往前查找并返回首個(gè)匹配項(xiàng)的位置,匹配不區(qū)分大小寫
    strrpos –
    從后往前查找并返回首個(gè)匹配項(xiàng)的位置
    strspn — 匹配并返回字符連續(xù)出現(xiàn)長度的值
    strstr —
    通過比較返回一個(gè)字符串的部分
    strtok — 用指定的若干個(gè)字符來分割字符串
    strtolower —
    將字符串轉(zhuǎn)變?yōu)樾?br />strtoupper –將字符串轉(zhuǎn)變?yōu)榇髮?br />strtr — 對字符串比較替換
    substr_compare —
    對字符串進(jìn)行截取后的比較
    substr_count — 計(jì)算字符串中某字符段的出現(xiàn)次數(shù)
    substr_replace —
    對字符串中的部分字符進(jìn)行替換
    substr — 對字符串進(jìn)行截取
    trim — 去除字符串兩邊的空白或者指定的字符
    ucfirst —
    將所給字符串的第一個(gè)字母轉(zhuǎn)換為大寫
    ucwords — 將所給字符串的每一個(gè)英文單詞的第一個(gè)字母變成大寫
    vfprintf —
    按照要求對數(shù)據(jù)進(jìn)行返回,并直接寫入文檔流
    vprintf — 按照要求對數(shù)據(jù)進(jìn)行顯示
    vsprintf —
    按照要求對數(shù)據(jù)進(jìn)行返回,但是不輸出
    wordwrap —
    按照一定的字符長度分割字符串
    strtolower()函數(shù)把所有字符變成小寫,strtoupper()函數(shù)把所有字符變成大寫,ucfirst()函數(shù)將所給字符串的第一個(gè)字母轉(zhuǎn)換為大寫,ucwords()函數(shù)將所給字符串的每一個(gè)英文單詞的第一個(gè)字母變成大寫。
    ucfirst()只處理字符串的首個(gè)字符,ucwords()只處理每個(gè)單詞的首字母(以空格來界定是否是單詞,“today!Hi”、“today.Hi”
    會(huì)被認(rèn)為是一個(gè)單詞),對于其余字母的大小寫狀態(tài)并不改變。
    [php]<?php
    echo strtolower("ABCD");//顯示
    abcd
    echo strtoupper("abcd");//顯示 ABCD
    echo ucfirst("what a beautiful day
    today!");//顯示 What a beautiful day today!
    echo ucwords("what a beautiful day
    today!");//顯示 What A Beautiful Day
    Today!
    ?>[/php]
    trim()函數(shù)去除字符串兩邊的空白或者指定的字符,ltrim()函數(shù)去除字符串左側(cè)的空白或者指定的字符,rtrim()函數(shù)去除字符串右側(cè)的空白或者指定的字符,chop()函數(shù)和rtrim()函數(shù)功能相同,這四個(gè)函數(shù)都不支持UFT-8中文字符。
    [php]<?php
    echo
    trim("what a beautiful day today!","! adlotwy");//顯示 hat a beautifu
    echo
    ltrim("what a beautiful day today!","! adlotwy");//顯示 hat a beautiful day
    today!
    echo rtrim("what a beautiful day today!","! adlotwy");//顯示 what a
    beautifu
    echo chop("what a beautiful day today!","! adlotwy");//顯示 what a
    beautifu
    ?>[/php]
    echo()函數(shù)用以顯示一些內(nèi)容,可以使用<<《What is the difference
    between echo and print》 查看兩者的差別。echo() 和
    print()后面的小括號(hào),可加可不加。
    [php]<?php
    $temp = "都";
    echo
    $temp;//顯示“都”
    echo
    <<<END


    $temp



    END;//顯示“大家都好嗎?”
    echo
    "大家",$temp,"好!";//顯示“大家都好”

    $temp = "都";
    print $temp; //顯示“都”
    print
    <<<END


    $temp



    END;//顯示“大家都好嗎?”
    ?>[/php]
    printf()函數(shù)可以按照要求對數(shù)據(jù)進(jìn)行顯示,該函數(shù)的功能異常強(qiáng)大,即可以讓值在不同的字符格式和進(jìn)制之間轉(zhuǎn)換,還可以實(shí)現(xiàn)字符補(bǔ)白(pad)和截取等功能。sprintf()函數(shù),fprintf()函數(shù)的功能和printf()函數(shù)完全一樣,只不過sprintf()函數(shù)是返回結(jié)果而不是直接輸出,fprintf()必須用在將輸出寫入文檔流的時(shí)候。下面僅以printf()函數(shù)舉例:
    在printf()函數(shù)的第一個(gè)參數(shù)中:
    %
    - 轉(zhuǎn)義字符(在%開始,字母結(jié)束的格式定義內(nèi)部,使用“’”進(jìn)行轉(zhuǎn)義)
    b – 二進(jìn)制格式輸出
    c - 將ASCII值轉(zhuǎn)變?yōu)閷?yīng)的值輸出
    d –
    有符號(hào)的十進(jìn)制數(shù)輸出(整數(shù))
    e – 科學(xué)計(jì)數(shù)法輸出
    u – 無符號(hào)的十進(jìn)制數(shù)輸出(正數(shù))
    f – 浮點(diǎn)格式輸出(locale
    aware)
    F – 浮點(diǎn)格式輸出(non-locale aware)
    o – 八進(jìn)制格式輸出
    s – 字符串格時(shí)輸出
    x –
    十六進(jìn)制格式輸出(字母小寫)
    X - 十六進(jìn)制格式輸出(字母大寫)
    [php]<?php
    $n =  43951789;
    $u =
    -43951789;
    $c = 65; // 'A'的ASCII值為65
    printf("%b", $n);
    //顯示10100111101010011010101101
    printf("%c", $c); //顯示A
    printf("%d", $n);
    //顯示43951789
    printf("%e", $n); //顯示4.39518e+7
    printf("%u", $n);
    //顯示43951789
    printf("%u", $u); //顯示4251015507
    printf("%f", $n);
    //顯示43951789.000000
    printf("%F", $n); //顯示43951789.000000
    printf("%o",
    $n); //顯示247523255
    printf("%s", $n); //顯示43951789
    printf("%x", $n);
    //顯示29ea6ad
    printf("%X", $n); //顯示29EA6AD
    printf("%+d", $n);
    //顯示+43951789
    printf("%+d", $u);
    //顯示-43951789
    ?>[/php]
    printf的第一個(gè)參數(shù)還內(nèi)置了類似正則的功能:
    1、第一位是可選的一個(gè)“+”,這個(gè)符號(hào)只對數(shù)字格式的輸出有效,因?yàn)槿绻秦?fù)數(shù)的話,前面會(huì)有一個(gè)“-”,有時(shí)候會(huì)需要在正數(shù)前面加一個(gè)“+”,但是PHP默認(rèn)是隱去“+”號(hào)顯示的,所以需要在前面加一個(gè)“+”輸出“+”號(hào)
    2、第二位是可選的填充字符,用這個(gè)字符來起到填充空白的左右,功能類似str_pad()函數(shù),保留字符可以用“’”轉(zhuǎn)義
    3、第三位表示填充的方向,是可選的,“+”是默認(rèn)值,表示在左側(cè)填充,“-”表示在右側(cè)填充
    4、第四位表示填充完成后的長度,也是可選的,沒有這個(gè)參數(shù)就表示不進(jìn)行填充
    5、第五位可選參數(shù),如果輸出是浮點(diǎn)數(shù),可以控制小數(shù)點(diǎn)后面的個(gè)數(shù),如果是輸出字符串,則可以用來截取字符串的長度,使用時(shí)為了和前面的參數(shù)區(qū)分,需要用“.”隔開
    [php]<?php
    $t
    = 'many monkeys';
    $n = 1213;
    printf("%+d",$n); // 1、顯示
    +1213
    printf("%010d",$n); // 2、顯示000001213
    printf("%+'#10d",$n); // 2、顯示
    #####+1213
    printf("%+'#-10d",$n); // 3、顯示 +1213#####
    printf("%.2f",$n); //
    5、顯示 1213.00
    printf("%.7s",$t); // 5、顯示 many
    mo
    ?>[/php]
    了解了上面這些之后,讓我們看printf()函數(shù)的使用方法,其實(shí)就是將接受的從第二個(gè)參數(shù)以后的所有參數(shù)一個(gè)一個(gè)的在第一個(gè)參數(shù)中需要轉(zhuǎn)換的地方輸出,如果參數(shù)次序被打亂,就需要使用“2\$”這樣的字符來表明變量的位置。
    [php]<?php
    $num
    = "tree";
    $location = 10;
    $format1 = "The %s contains %d
    monkeys";
    printf($format1, $num, $location);
    //顯示 The tree contains 10
    monkeys
    $format2 = "The %s contains %d monkeys";
    printf($format2,
    $location, $num);
    //顯示 The tree contains 10
    monkeys
    ?>[/php]
    vprintf()函數(shù)、vsprintf()函數(shù)、vfprintf()函數(shù)三個(gè)函數(shù)的功能和上面的printf()函數(shù)、sprintf()函數(shù)、fprintf()的功能一樣,vprintf()函數(shù)直接輸出,vsprintf()函數(shù)返回但是不輸出,vfprintf()函數(shù)直接將結(jié)果輸出到文檔流,區(qū)別就是這三個(gè)函數(shù)接受的參數(shù)都是數(shù)組形式的,而不是一個(gè)一個(gè)的變量。
    這里只舉vprintf()函數(shù)的例子:
    [php]<?php
    $num
    = "tree";
    $location = 10;
    $argu1 = array("tree",10);
    $argu2 =
    array(10,"tree");
    $format1 = "The %s contains %d
    monkeys";
    printf($format1, $num, $location);
    // 顯示 The tree contains 10
    monkeys
    $format1 = "The %s contains %d monkeys";
    vprintf($format1,
    $argu1);
    // 顯示 The tree contains 10 monkeys
    $format2 = "The %2\$s contains
    %1\$d monkeys";
    vprintf($format2, $argu2);
    // 顯示 The tree contains 10
    monkeys
    ?>[/php]
    number_format()函數(shù)可以按照參數(shù)對數(shù)字進(jìn)行格式化的輸出,number_format()函數(shù)最多有4個(gè)參數(shù),第一個(gè)參數(shù)是輸出的數(shù)字,第二個(gè)參數(shù)表示保留幾位小數(shù),第三個(gè)參數(shù)和第四個(gè)參數(shù)必須同時(shí)使用(就是說不能只用第三個(gè)參數(shù),而不使用第四個(gè)參數(shù)),分別表示小數(shù)點(diǎn)的樣式和千分符的樣式,默認(rèn)分別為“.”和“,”。
    [php]<?php
    $num
    = 1234.56;
    $new_num = number_format($num, 3, ".", "-");
    echo $new_num; //
    顯示
    1-234.560
    ?>[/php]
    money_format()函數(shù)需要C里面的strfmon()函數(shù)支持,所以需要系統(tǒng)能夠提供C函數(shù)庫,很顯然,windows系統(tǒng)無法支持此功能,所以在windows下面的PHP環(huán)境不支持money_format()函數(shù),此函數(shù)的介紹以后再補(bǔ)充:(
    sscanf()函數(shù)可以對字符串進(jìn)行格式化,第一個(gè)參數(shù)表示需要處理的字符,第二個(gè)參數(shù)表示變量匹配的規(guī)則(匹配規(guī)則請參照上面的printf()函數(shù)),后面的參數(shù)可選,分別對應(yīng)需要賦值的變量,如果僅僅只有2個(gè)參數(shù),那么所有的變量值將以一個(gè)數(shù)組的形式返回。在下面的例子中,“%s”的匹配是貪婪的,所以在使用時(shí)要注意。
    [php]<?php
    $mandate
    = "January 01 2000";
    list($month, $day, $year) = sscanf($mandate, "%s %d
    %d");
    echo "$year-" .$month. "-$day";// 顯示
    2000-January-1
    ?>[/php]
    str_replace()函數(shù)可以匹配和替換字符串,第一個(gè)參數(shù)表示需要匹配的項(xiàng),第二個(gè)參數(shù)表示替換的項(xiàng),第三個(gè)參數(shù)表示處理的字符串。第四個(gè)參數(shù)可選,將一個(gè)變量賦值為匹配的次數(shù),前兩個(gè)參數(shù)也可以是數(shù)組形式的。str_ireplace()函數(shù)的功能和str_replace()函數(shù)類似,只不過在匹配的時(shí)候str_ireplace()函數(shù)會(huì)忽略大小寫。
    [php]<?php
    $str1
    = str_replace("world", "body", "hello world world");
    echo $str1;// 顯示 hello
    body body
    $str1 = str_ireplace("WORLD", "body", "hello world world");
    echo
    $str1;// 顯示 hello body body

    $phrase  = "You should eat fruits,
    vegetables, and fiber every day.";
    $healthy = array("fruits", "vegetables",
    "fiber");
    $yummy   = array("pizza", "beer", "ice cream");
    $newphrase =
    str_replace($healthy, $yummy, $phrase, $count);
    echo $newphrase;// 顯示 You
    should eat pizza, beer, and ice cream every day.
    echo $count; // 顯示
    3
    ?>[/php]
    strtr()函數(shù)的作用是對字符串替換,strtr()函數(shù)有兩種使用方法,第一種使用三個(gè)參數(shù),替換時(shí)會(huì)將第二個(gè)參數(shù)的字符串替換為第三個(gè)參數(shù)的字符串(如果兩個(gè)字符串參數(shù)的長度不一致,則教長的那個(gè)字符串將會(huì)被截?cái)啵诙N方法使用兩個(gè)參數(shù),第二個(gè)參數(shù)是一個(gè)準(zhǔn)備進(jìn)行替換處理的數(shù)組。
    [php]<?php
    $trans
    = strtr("hello world", "world", "body");
    echo $trans;//顯示 heyyo bodyd
    (w=>b,o=>o,r=>d,l=>y)
    $arr = array("hello" => "hi", "hi" =>
    "hello");
    $trans = strtr("hi all, I said hello", $arr);
    echo $trans;//顯示
    hello all, I said
    hi
    ?>[/php]
    strstr()函數(shù)通過比較返回一個(gè)字符串的部分。函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)表示處理的字符串,第二個(gè)參數(shù)表示匹配項(xiàng),返回結(jié)果為從匹配位置開始到最后的一個(gè)字符串,如果沒有匹配,則返回false。strchr()函數(shù)是strstr()函數(shù)的別名,功能和使用方法完全一樣。strrchr()函數(shù)的功能和strstr()函數(shù)類似,區(qū)別是strrchr()函數(shù)是從后向前匹配的,stristr()函數(shù)的功能和strstr()函數(shù)一樣,但是匹配是不區(qū)分字母的大小寫。strpbrk()的功能和strstr()函數(shù)類似,是在一個(gè)字母串里面找出第一個(gè)匹配項(xiàng),返回以后的結(jié)果。
    [php]<?php
    $email
    = [email=]'user@example.com'[/email];
    $domain = strstr($email,
    [email=]'@'[/email]);
    echo $domain; // 顯示 @example.com
    $exam =
    strrchr($email, 'e');
    echo $exam; // 顯示 e.com
    $exam = stristr($email,
    'EX');
    echo $exam; // 顯示 example.com
    $exam = strpbrk($email,
    'pe');
    echo $exam; // 顯示

    ?>[/php]
    strpos()函數(shù)查找并返回首個(gè)匹配項(xiàng)的位置,第一個(gè)參數(shù)表示處理的字符串,第二個(gè)參數(shù)表示匹配項(xiàng),第三個(gè)參數(shù)可選,表示開始執(zhí)行查找的位置。stripos()函數(shù)的功能和strpos()函數(shù)類似,區(qū)別是匹配的時(shí)候不會(huì)區(qū)分大小寫。strrpos()函數(shù)和strpos()函數(shù)功能類似,區(qū)別是從后往前匹配,strripos()函數(shù)的功能和strrpos()函數(shù)類似,區(qū)別是不區(qū)分大小寫。strrpos()函數(shù)在PHP4中只支持單個(gè)字母的查找,如果參數(shù)是字符串,則截取第一個(gè)字母,PHP4不支持strripos()函數(shù)。
    [php]<?php
    $newstring
    = 'abcdef abcdefab';
    $pos = strpos($newstring, 'a', 1);
    echo $pos; // 顯示
    7
    $pos = strrpos($newstring, 'ab', 6);
    echo $pos; // 顯示
    13
    ?>[/php]
    count_chars()函數(shù)的作用是返回一個(gè)字符串里面的字符使用信息。第二個(gè)參數(shù)五個(gè)參數(shù):
    0 -
    以所有的每個(gè)字節(jié)值作為鍵名,出現(xiàn)次數(shù)作為值的數(shù)組。
    1 - 與 0 相同,但只列出出現(xiàn)次數(shù)大于零的字節(jié)值。
    2 - 與 0
    相同,但只列出出現(xiàn)次數(shù)等于零的字節(jié)值。
    3 - 返回由所有使用了的字節(jié)值組成的字符串。
    4 -
    返回由所有未使用的字節(jié)值組成的字符串。
    [php]<?php
    $data = "this is a test
    world";
    print_r(count_chars($data, 1)); // 顯示用到字符信息

    print_r(count_chars($data, 3)); // 顯示
    adehilorstw
    ?>[/php]
    strspn()函數(shù)的作用是匹配并返回第二個(gè)參數(shù)里面的單字符連續(xù)出現(xiàn)長度的值,strspn()函數(shù)的第三個(gè)參數(shù)和第四個(gè)參數(shù)可選,分別表示開始匹配的位置和返回的最大值。strcspn()函數(shù)的使用方法和strspn()函數(shù)類似,但功能卻相反,返回的是第二個(gè)參數(shù)中不匹配的字符串長度。
    [php]<?php
    $var
    = strspn("42123 is the answer", "1234567890");
    echo $var; //顯示 5
    echo
    strspn("faoaaol", "oa", 1, 3); // 顯示 3
    echo strcspn("csdcsdfaoaaol", "oa", 1,
    9); // 顯示
    6
    ?>[/php]
    substr()函數(shù)可以對字符串進(jìn)行截取,substr()函數(shù)可以有三個(gè)參數(shù),第二個(gè)參數(shù)如果是空,那么默認(rèn)就為0,如果我負(fù)數(shù),就表示從后往前計(jì)數(shù),第三個(gè)參數(shù)如果是正數(shù),表示字符串截取的長度,如果省略,則會(huì)一直截取到最后,如果是負(fù)數(shù),則表示從后往前截取到的位置。
    [php]<?php
    echo
    substr('abcdef',3, 2);  // 顯示 de
    echo substr('abcdef',"", 2);  // 顯示
    ab
    echo substr("abcdef", -2);    // 顯示 ef
    echo substr("abcdef", -3, 1); //
    顯示 d
    echo substr("abcdef", -3, -1); // 顯示
    de
    ?>[/php]
    substr_count()函數(shù)的作用是計(jì)算字符串中某字符段的出現(xiàn)次數(shù),第三個(gè)參數(shù)表示在字符串中開始比較的位置,省略則默認(rèn)從頭開始,第四個(gè)參數(shù)表示依次比較的字符數(shù),省略則表示一直比較到末尾。和substr()函數(shù)有所不同的是,這兩個(gè)參數(shù)都不支持負(fù)數(shù)。
    [php]<?php
    $text
    = 'This is a test';
    echo substr_count($text, 'is'); // 顯示 2
    echo
    substr_count($text, 'is', 3); // 顯示 1
    echo substr_count($text, 'is', 3, 3);
    // 顯示
    0
    ?>[/php]
    substr_replace()函數(shù)的作用是對字符串中的部分字符進(jìn)行替換,substr_replace()函數(shù)的第三個(gè)參數(shù)必選,表示需要處理字符的起始位置,負(fù)數(shù)表示從后往前計(jì)數(shù),第四個(gè)參數(shù)可選,省略表示一直替換到最后,正數(shù)表示替換的長度,負(fù)數(shù)表示從后往前替換到的位置。
    [php]<?php
    $var
    = 'ABCDEFGH:/MNRPQR/';
    echo substr_replace($var, 'bob', 0); // 顯示 bob
    echo
    substr_replace($var, 'bob', 0, 0); // 顯示 bobABCDEFGH:/MNRPQR/
    echo
    substr_replace($var, 'bob', 10, -1); // 顯示 ABCDEFGH:/bob/
    echo
    substr_replace($var, 'bob', -7, -1); // 顯示 ABCDEFGH:/bob/
    echo
    substr_replace($var, '', 10, -1); // 顯示
    ABCDEFGH://
    ?>[/php]
    implode()函數(shù)的作用是將數(shù)組轉(zhuǎn)變?yōu)樽址琫xplode()函數(shù)的作用是將一個(gè)字符串轉(zhuǎn)變?yōu)橐粩?shù)組形式。implode()函數(shù)前兩個(gè)參數(shù)的位置是任意的,而explode()函數(shù)則不行。explode()函數(shù)第三個(gè)參數(shù)可選,省略則表示全部返回,正數(shù)表示返回的數(shù)組中單元的個(gè)數(shù),最后一個(gè)單元包含了未處理完的字符串,負(fù)數(shù)表示返回值中將除去最后的若干個(gè)單元。join()函數(shù)的作用和implode()函數(shù)相同,是implode()函數(shù)的別名。
    [php]<?php
    $array
    = array('lastname', 'email', 'phone');
    echo implode($array,","); // 顯示
    lastname,email,phone
    $str = 'one|two|three';
    print_r(explode('|',
    $str));// 顯示 Array ( [0] => one [1] => two [2] => three
    )
    print_r(explode('|', $str, 2));// 顯示 Array ( [0] => one [1] =>
    two|three )
    print_r(explode('|', $str, -1));// 顯示 Array ( [0] => one
    [1] => two
    )
    ?>[/php]
    strtok()函數(shù)的作用是用指定的若干個(gè)字符來分割字符串,此函數(shù)的功能較強(qiáng)大,但是使用方法比較特殊。在連續(xù)使用的時(shí)候,第一次需要說明字符串和分割符,但是第二次的時(shí)候,只要放入分割符就可以,分割符可以是多個(gè)內(nèi)容,但是不能使用字符串,具體請研究下面的例子:
    [php]<?php
    $string
    = "This is\tan example\nstring";
    $tok = strtok($string, "
    \n\t");

    while ($tok !== false) {
        echo "$tok<br />";
       
    $tok = strtok("
    \n\t");
    }
    ?>[/php]
    str_split()函數(shù)的作用是將一個(gè)字符串按照字符間距分割為一個(gè)數(shù)組,str_split()函數(shù)有兩個(gè)參數(shù),第二個(gè)參數(shù)可選,默認(rèn)值為“1”。
    [php]<?php
    $str1
    = "asd";
    $str2 = "Hello Friend";
    print_r(str_split($str1)); // 顯示 Array (
    [0] => a [1] => s [2] => d )
    print_r($arr2 = str_split($str2, 4));
    // 顯示 Array ( [0] => Hell [1] => o Fr [2] => iend
    )
    ?>[/php]
    chunk_split()函數(shù)的作用是按一定的字符長度將字符串分割成小塊,第二個(gè)參數(shù)可選,表示字符間距,默認(rèn)為76,第三個(gè)參數(shù)可選,表示用什么字符進(jìn)行分割,默認(rèn)為“\r\n”。
    [php]<?php
    $str
    = "asdasdasd";
    echo chunk_split($str,3,","); // 顯示
    asd,asd,asd,
    ?>[/php]
    wordwrap()函數(shù)的作用是按照一定的字符長度分割字符串,第二個(gè)參數(shù)可選,表示按多少字符進(jìn)行分割,默認(rèn)為75,第三個(gè)參數(shù)可選,表示用哪個(gè)字符分割,默認(rèn)為“\n”,第四個(gè)參數(shù)可選,true表示強(qiáng)制打破一個(gè)單詞,false表示不大破單詞,默認(rèn)為false。
    [php]<?php
    $text
    = "A very long woooooooooood asdasd";
    echo wordwrap($text, 12, "<br
    />\n", true); // woooooooooood被打破
    echo wordwrap($text, 12, "<br
    />\n", false); //
    woooooooooood未被打破
    ?>[/php]
    strlen()函數(shù)的作用是獲取一個(gè)字符串的編碼長度。
    [php]<?php
    $text1
    = "ABC";
    $text2 = "中文";
    echo strlen($text1); // 顯示 3
    echo
    strlen($text2); // 顯示
    6
    ?>[/php]
    str_word_count()函數(shù)的作用是獲取字符串里面的英文單詞信息,第二個(gè)參數(shù)可選,0表示只返回單詞的個(gè)數(shù),1表示將找到的單詞作為一個(gè)數(shù)組返回,2表示找到的單詞和單詞所在的字符位置信息作為一個(gè)聯(lián)合數(shù)組(associative)返回,省略的默認(rèn)值是0;第三個(gè)參數(shù)也是可選的,表示需要忽略的斷詞符號(hào),默認(rèn)的斷詞符號(hào)有空格,數(shù)字等等,有時(shí)候需要忽略一些。
    [php]<?php
    $str
    = "Hello fri3nd, you're
           looking          good today!";
    echo
    str_word_count($str); // 顯示 7
    print_r(str_word_count($str, 1));
    // 顯示
    Array ( [0] => Hello [1] => fri [2] => nd [3] => good [4] =>
    today )
    print_r(str_word_count($str, 2));
    // 顯示 Array ( [0] => Hello
    [6] => fri [10] => nd [14] => good [19] => today
    )
    print_r(str_word_count($str, 1, 'àá~ac3'));
    // 顯示 Array ( [0] =>
    Hello [1] => fri3nd [2] => good [3] => today
    )
    ?>[/php]
    nl_langinfo()函數(shù)的作用是獲取某些字符信息,但是沒有在windows平臺(tái)下實(shí)現(xiàn),所以,我以后在討論。
    localeconv()函數(shù)的作用是獲取數(shù)字相關(guān)的格式定義。setlocale()函數(shù)可以設(shè)置關(guān)于數(shù)字,日期等等的本地格式,相關(guān)內(nèi)容較復(fù)雜,這里省略不談。這兩個(gè)函數(shù)的作用是為了解決在不同的國家地區(qū)之間,對數(shù)字,貨幣,日期等字符形式不同的表現(xiàn)內(nèi)容而進(jìn)行簡易設(shè)置的作用。
    strrev()函數(shù)的作用是將字符串里面的所有字母反向排列。str_shuffle()函數(shù)的作用是對一個(gè)字符串里面的字符進(jìn)行隨機(jī)排序。
    [php]<?php
    echo
    strrev("ABC"); // 顯示 CBA
    $str = 'abcdef';
    echo
    str_shuffle($str);
    ?>[/php]
    str_pad()函數(shù)的作用是對字符串進(jìn)行兩側(cè)的補(bǔ)白,第二個(gè)參數(shù)表示補(bǔ)白以后的長度,第三個(gè)參數(shù)可選,表示進(jìn)行補(bǔ)白的字符串,默認(rèn)為空格,第四個(gè)參數(shù)可選,表示補(bǔ)白的方式,有三個(gè)常量可以選擇:STR_PAD_RIGHT,STR_PAD_LEFT和STR_PAD_BOTH,分別表示右補(bǔ)白,左補(bǔ)白和兩側(cè)補(bǔ)白,默認(rèn)值為STR_PAD_RIGHT。
    [php]<?php
    $input
    = "Alien";
    echo str_pad($input, 10);                      // 顯示 "Alien 
       "
    echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // 顯示
    "-=-=-Alien"
    echo str_pad($input, 10, "_", STR_PAD_BOTH);   // 顯示
    "__Alien___"
    echo str_pad($input, 6 , "___");               // 顯示
    "Alien_"
    ?>[/php]
    str_repeat()函數(shù)的作用是對字符串進(jìn)行重復(fù)組合,第二個(gè)參數(shù)表示重復(fù)的次數(shù),值為0的時(shí)候?qū)⒎祷匾粋€(gè)空字符串。
    [php]<?php
    echo
    str_repeat("ab", 3); // 顯示
    ababab
    ?>[/php]
    chr()函數(shù)的作用是返回一個(gè)字符的ASCII碼,ord()函數(shù)的作用是將一個(gè)ASCII碼轉(zhuǎn)換為一個(gè)字符。
    [php]<?php
    $str
    = "a";
    echo ord($str); // 顯示 97
    $asc2 = 97;
    echo chr($asc2); //顯示
    a
    ?>[/php]
    strcmp()函數(shù)的作用是對字符串進(jìn)行大小比較,第一個(gè)參數(shù)大于第二個(gè)參數(shù)時(shí)返回一個(gè)大于0的數(shù),小于則返回一個(gè)小于0的數(shù),等于則返回0,此函數(shù)的比較結(jié)果返回值是非常令人困惑的,因而此函數(shù)的主要用處是比較兩個(gè)字符串是否相等。strncmp()函數(shù)的作用和strcmp()函數(shù)類似,區(qū)別是strncmp()函數(shù)有第三個(gè)必選參數(shù),用來限制進(jìn)行比較的前N個(gè)字符。strcasecmp()的作用和strcmp()函數(shù)類似,區(qū)別是strcasecmp()函數(shù)忽略大小寫。strncasecmp()函數(shù)的作用和strncmp()函數(shù)類似,區(qū)別是strncasecmp()函數(shù)忽略大小寫。strnatcmp()函數(shù)的作用和strcmp()函數(shù)類似,區(qū)別是strnatcmp()函數(shù)使用自然排序法對字符串之間進(jìn)行比較。strnatcasecmp()函數(shù)的作用和strnatcmp()函數(shù)類似,區(qū)別是strnatcasecmp()函數(shù)比較時(shí)不區(qū)分大小寫。strcoll()函數(shù)的作用和strcmp()函數(shù)類似,區(qū)別是strcoll()函數(shù)會(huì)根據(jù)本地環(huán)境的設(shè)置而改變比較的方式,而產(chǎn)生不同的結(jié)果,這里暫時(shí)跳過不討論。
    [php]<?php
    echo
    strcmp("red", "red"); // 顯示 0
    echo strncmp("red apple", "red", 3); // 顯示
    0
    echo strcasecmp("Red", "red"); // 顯示 0
    echo strncasecmp("Red apple",
    "red", 3); // 顯示
    0
    ?>[/php]
    上面這些函數(shù)的另一個(gè)作用是被作為回調(diào)函數(shù)的形式使用(其實(shí)也是最主要的用途所在):
    [php]<?php
    $arr1
    = $arr2 = array("img12.png", "img10.png", "img2.png",
    "img1.png");
    usort($arr1, "strcmp");
    print_r($arr1); //
    顯示標(biāo)準(zhǔn)排序以后的結(jié)果
    usort($arr2, "strnatcmp");
    print_r($arr2); //
    顯示自然排序以后的結(jié)果
    ?>[/php]
    substr_compare()函數(shù)可以對字符串進(jìn)行截取后的比較,第三個(gè)參數(shù)表示比較開始的起始位置,第四個(gè)參數(shù)可選,表示進(jìn)行比較的長度,省略則表示一直比較到末尾,第五個(gè)參數(shù)可選,設(shè)置為true可以忽略大小寫,false表示不忽略大小寫,默認(rèn)值為false。
    [php]<?php
    echo
    substr_compare("abcde", "bc", 1, 2); // 顯示 0
    echo substr_compare("abcde",
    "bcg", 1, 2); //顯示 0
    echo substr_compare("abcde", "BC", 1, 2, true); //顯示
    0
    echo substr_compare("abcde", "bc", 1, 3); //顯示 1
    echo
    substr_compare("abcde", "cd", 1, 2); //顯示 -1
    echo substr_compare("abcde",
    "abc", 5, 1); //顯示
    報(bào)錯(cuò)
    ?>[/php]
    similar_text()函數(shù)的作用是比較兩個(gè)字符串,返回系統(tǒng)認(rèn)為的相似字符個(gè)數(shù),第三個(gè)參數(shù)可選,可以對一個(gè)變量附值為相似度百分比。levenshtein()函數(shù)的作用是對字符串進(jìn)行比較,并且返回兩個(gè)字符串的相似度,有三個(gè)可選參數(shù),但是不知道如何使用。
    <?
    echo
    similar_text("abcdas", "abdcas", $p); // 顯示 5
    echo "$p%"; // 顯示
    83.3333333333%
    echo levenshtein("ab", "abcd"); // 顯示 2
    echo
    levenshtein("abc", "abcd"); // 顯示 1
    echo levenshtein("abcd", "abcd"); // 顯示
    0
    ?>[/php]
    soundex()函數(shù)的作用是判斷一個(gè)字符串的發(fā)音規(guī)則,用4位的字符串表示。metaphone()函數(shù)的作用是判斷一個(gè)字符串的發(fā)音規(guī)則,和soundex()函數(shù)類似,但是顯示的是一個(gè)不定長的字符串。
    [php]<?php
    echo
    soundex("Ellery");    // 顯示 E460
    echo soundex("Ghosh");     // 顯示
    G200
    echo soundex("Heilbronn"); // 顯示 H416
    echo metaphone("Ellery");    //
    顯示 ELR
    echo metaphone("Ghosh");     // 顯示 FX
    echo metaphone("Heilbronn");
    // 顯示
    HLBRN
    ?>[/php]
    addslashes()函數(shù)的作用是為字符串里面的部分字符添加反斜線轉(zhuǎn)義字符,addslashes()函數(shù)只為4個(gè)字符添加轉(zhuǎn)義,單引號(hào)“’
    ”,雙引號(hào)“””,反斜線“\”和NULL(“\0”)。addcslashes()函數(shù)的作用也是對字符串添加轉(zhuǎn)義,但是轉(zhuǎn)義的字符必須由第二個(gè)參數(shù)指定,第二個(gè)參數(shù)的使用方法難度太高,跳過不講。stripslashes()函數(shù)的作用和addslashes()函數(shù)正好相反,可以將addslashes()函數(shù)轉(zhuǎn)義的那4個(gè)字符取消轉(zhuǎn)義。同樣,stripcslashes()函數(shù)的作用和addcslashes()函數(shù)相反。quotemeta()函數(shù)的作用是對11個(gè)特定字符進(jìn)行轉(zhuǎn)義,包括:.
    \ + * ? [ ^ ] ( $ ) 似乎是可以用在正則里面。
    [php]<?php
    echo addslashes("'\"\ ");
    // 顯示 \'\"\\
    echo addcslashes("zoo['.']", 'zo'); // 顯示 \z\o\o['.']
    echo
    addcslashes("z\"oo['.']", '\'\"'); // 顯示 z\"oo[\'.\']
    echo addcslashes('foo[
    ]', 'A..z'); // 顯示 \f\o\o\[ \]
    echo stripslashes(addslashes("'\"\ ")); // 顯示
    '"\
    echo stripcslashes(addcslashes("z\"oo['.']", '\'\"')); // 顯示
    z"oo['.']
    echo quotemeta(". \ + * ?"); // 顯示 \. \\ \+ \*
    \?
    ?>[/php]
    htmlspecialchars()函數(shù)的作用是將字符串中一些字符轉(zhuǎn)換為HTML實(shí)體,默認(rèn)情況下主要包括這4個(gè)字符:“<”,“>”,“&”和“””,分別轉(zhuǎn)換為HTML實(shí)體:“<”,“>”,“&”呵“"”。htmlentities()函數(shù)的第二個(gè)可選參數(shù)可以選擇引號(hào)的轉(zhuǎn)換模式,可以選擇三個(gè)常量:ENT_COMPAT表示轉(zhuǎn)換雙引號(hào)但是保留單引號(hào),ENT_QUOTES表示同時(shí)轉(zhuǎn)換雙引號(hào)和單引號(hào),ENT_NOQUOTES表示兩個(gè)都不轉(zhuǎn)換,默認(rèn)值為ENT_COMPAT。第三個(gè)可選參數(shù)表示所轉(zhuǎn)換字符的編碼集。htmlspecialchars_decode()函數(shù)的作用和htmlspecialchars()函數(shù)剛好相反,但是兩個(gè)函數(shù)的使用方法一樣。
    [php]<?php
    $str
    = "<a href='test'>Test</a>";
    echo htmlspecialchars($str); //
    顯示(源代碼里面) <a href='test'>Test</a>
    echo htmlspecialchars($str,
    ENT_QUOTES); // 顯示(源代碼里面) <a href='test'>Test</a>
    $str = '<a
    href='test'>Test</a>';
    echo htmlspecialchars_decode($str); //
    顯示(源代碼里面) <a
    href='test'>Test</a>
    ?>[/php]
    htmlentities()函數(shù)的用法和htmlspecialchars()函數(shù)類似,但是htmlspecialchars()函數(shù)會(huì)轉(zhuǎn)義更多的HTML里面的字符(請查看手冊的htmlspecialchars()函數(shù)的表格1《已支持字符集》部分),所以使用時(shí)要注意加上第三個(gè)參數(shù)。html_entity_decode()函數(shù)的作用和htmlentities()函數(shù)正好相反,但是用法完全一樣,使用時(shí)也要注意用到第三個(gè)參數(shù)。
    <meta
    http-equiv="Content-Type" c />
    [php]<?php
    $str = "<a
    href='test'>中文</a>";
    echo htmlentities($str,ENT_COMPAT,"UTF-8");
    //顯示(源代碼里面) <a href='test'>涓枃</a>
    echo
    html_entity_decode(htmlentities($str,ENT_COMPAT,"UTF-8"),ENT_COMPAT,"UTF-8"); //
    顯示(源代碼里面) <a
    href='test'>中文</a>
    ?>[/php]
    get_html_translation_table()函數(shù)的作用是返回可以轉(zhuǎn)換的HTML實(shí)體,算是一個(gè)比較有意思,也是有趣的工具函數(shù)。get_html_translation_table()函數(shù)有兩個(gè)常量參數(shù),第一個(gè)參數(shù)表示所選擇顯示哪種轉(zhuǎn)換模式下的內(nèi)容,HTML_ENTITIES表示大范圍的htmlentities()函數(shù)所用到的轉(zhuǎn)換內(nèi)容,HTML_SPECIALCHARS表示小范圍的htmlspecialchars()函數(shù)所用到的轉(zhuǎn)換內(nèi)容,第二個(gè)參數(shù)的三種模式ENT_COMPAT,ENT_QUOTES,ENT_NOQUOTES的作用,可以查看htmlspecialchars()函數(shù)里面的介紹。
    [php]<?php
    print_r(get_html_translation_table(HTML_SPECIALCHARS,ENT_QUOTES));
    ?>[/php]
    /*
    顯示
    Array
    (
        ["] => "
        ['] => &#39;
        [<]
    => <
        [>] => >
        [&] =>
    &
    )
    */
    nl2br()函數(shù)的作用是將字符串中的換行符“\n”替換成“<br
    />”。
    [php]<?php
    echo nl2br("foo isn't\n bar"); // 顯示(源代碼里面) foo
    isn't<br />
    bar
    ?>[/php]
    strip_tags()函數(shù)的作用是去除一個(gè)字符串里面的HTML和PHP代碼(其實(shí)好像就是去掉“<”開始“>”結(jié)尾的字符串,無所謂PHP)。第二個(gè)參數(shù)表示允許出現(xiàn)的標(biāo)簽對。
    [php]<?php
    $text
    = '<p>Test paragraph.</p><em>Other text</em>';
    echo
    strip_tags($text, '<p>'); // 顯示 <p>Test paragraph.</p>Other
    text
    ?>[/php]
    parse_str()函數(shù)的作用是把一定格式的字符串轉(zhuǎn)變?yōu)樽兞亢椭担址母袷胶蚒RL的格式相同。
    [php]<?php
    parse_str('d=12&c[]=as');
    echo
    $c[0]; // 顯示 as
    echo $d; // 顯示
    12
    ?>[/php]
    hebrev()函數(shù)的作用是將Hebrew編碼的字符串轉(zhuǎn)換為可視的文本,hebrevc函數(shù)的作用是和hebrev()函數(shù)類似,區(qū)別是會(huì)將字符串里面的“\n”轉(zhuǎn)變?yōu)?#8220;<br>\n”。hebrev()函數(shù)和hebrevc函數(shù)的第二個(gè)參數(shù)用法相同,可以設(shè)定每行的顯示字符數(shù),行末不會(huì)強(qiáng)制打斷一個(gè)單詞。
    convert_cyr_string()函數(shù)的作用是將斯拉夫語字符轉(zhuǎn)換為別的字符。
    bin2hex()函數(shù)的作用是將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制的數(shù)據(jù)。
    str_rot13函數(shù)的作用是將字符串進(jìn)行ROT13加密處理,方法是將所有字符移動(dòng)13個(gè)字母位置,因?yàn)橛⑽囊还彩?6個(gè)字母,所以該函數(shù)的加密解密可以使用同一個(gè)函數(shù)。
    [php]<?php
    echo
    str_rot13('str_rot13'); // 顯示 fge_ebg13
    echo
    str_rot13(str_rot13('str_rot13')); // 顯示
    str_rot13
    ?>[/php]
    md5()函數(shù)的作用是將一個(gè)字符串進(jìn)行MD5算法加密,返回一個(gè)32位的16位字符串,第二個(gè)參數(shù)如果設(shè)置為true,將會(huì)返回一個(gè)16位的2進(jìn)制字符串。md5_file()函數(shù)的作用是對文件進(jìn)行MD5加密,使用方式和md5()函數(shù)相同。
    [php]<?php
    echo
    md5('apple'); //顯示 1f3870be274f6c49b3e31a0c6728957f
    echo bin2hex(md5('apple',
    true)); //顯示
    1f3870be274f6c49b3e31a0c6728957f
    ?>[/php]
    sha1()函數(shù)的作用是將一個(gè)字符串進(jìn)行SHA1算法加密,返回一個(gè)40位的16位字符串,第二個(gè)參數(shù)如果設(shè)置為true,將會(huì)返回一個(gè)20位的2進(jìn)制字符串。sha1_file()函數(shù)的作用是對文件進(jìn)行SHA1加密,使用方式和sha1()函數(shù)相同。
    [php]<?php
    $str
    = 'apple';
    echo sha1('apple'); //顯示
    d0be2dc421be4fcd0172e5afceea3970e2f3d940
    echo bin2hex(sha1('apple', true));
    //顯示
    d0be2dc421be4fcd0172e5afceea3970e2f3d940
    ?>[/php]
    crypt()函數(shù)的作用是對一個(gè)字符串進(jìn)行散列處理,返回一個(gè)加密后的字符串。第二個(gè)可選參數(shù)是一個(gè)加密參考量,crypt()函數(shù)會(huì)根據(jù)這個(gè)量來產(chǎn)生加密的值,第二個(gè)參數(shù)如果省略,PHP將會(huì)隨機(jī)產(chǎn)生一個(gè)參考量;第二個(gè)參數(shù)的處理,需要根據(jù)4個(gè)PHP的預(yù)定義常量,PHP會(huì)更具預(yù)定義常量的設(shè)定,對參考量進(jìn)行處理,再進(jìn)行加密。
    CRYPT_STD_DES
    – 標(biāo)準(zhǔn)模式,獲取參考量的前兩位。
    CRYPT_EXT_DES – 擴(kuò)展模式,獲取參考量的前九位。
    CRYPT_MD5 –
    MD5模式,參考量為$1$開始的一個(gè)常量CRYPT_SALT_LENGTH指定長度的字符串。
    CRYPT_BLOWFISH –
    河豚模式,參考量為$2$或者$2a$開始的一個(gè)16位長的字符串。
    [php]<?php
    if (CRYPT_STD_DES == 1)
    {
        echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl');
    } // 顯示
    rl.3StKT.4T8M
    if (CRYPT_EXT_DES == 1) {
        echo 'Extended DES: ' .
    crypt('rasmuslerdorf', '_J9..rasm');
    } // 顯示 _J9..rasmBYk8r9AiWNc
    if
    (CRYPT_MD5 == 1) {
        echo 'MD5:          ' . crypt('rasmuslerdorf',
    '$1$rasmusle$');
    } // 顯示 $1$rasmusle$rISCgZzpwk3UhDidwXvin0
    if
    (CRYPT_BLOWFISH == 1) {
        echo 'Blowfish:     ' . crypt('rasmuslerdorf',
    '$2a$07$rasmusler...........$');
    } // 顯示
    $2a$07$rasmuslerd............nIdrcHdxcUxWomQX9j6kvERCFjTg7Ra
    ?>[/php]
    crc32()函數(shù)的作用是計(jì)算一個(gè)字符串的crc32多項(xiàng)式
    [php]<?php
    $checksum
    = crc32("Hello World!");
    printf("%u\n", $checksum); // 顯示
    472456355
    ?>[/php]
    quoted_printable_decode()函數(shù)不知道什么意思。
    convert_uuencode()函數(shù)的作用是對一個(gè)字符串進(jìn)行加密,convert_uudecode()函數(shù)的作用和convert_uuencode()函數(shù)相反,可以起到解密的作用。
    [php]<?php
    $some_string
    = "test\ntext text\r\n";
    echo convert_uuencode($some_string); // 顯示
    0=&5S=`IT97AT('1E>'0-"@`` `
    echo
    convert_uudecode(convert_uuencode($some_string)); //顯示 test text
    text
    ?>[/php]

    posted on 2012-11-07 00:29 強(qiáng)強(qiáng) 閱讀(701) 評論(0)  編輯  收藏 所屬分類: php

    主站蜘蛛池模板: 亚洲国产精品免费观看| 亚洲男人的天堂在线播放| 四虎在线成人免费网站| 一边摸一边爽一边叫床免费视频| 日本成年免费网站| 永久免费av无码网站yy| 免费播放特黄特色毛片| 视频一区在线免费观看| 亚洲自国产拍揄拍| 亚洲一区二区影院| 亚洲国产精品无码成人片久久| 8888四色奇米在线观看免费看| v片免费在线观看| 国产91成人精品亚洲精品| 亚洲国产日韩综合久久精品| 亚洲精品乱码久久久久久不卡| 四虎在线视频免费观看| 欧美在线看片A免费观看| 四虎在线最新永久免费| 最近2022中文字幕免费视频| 毛片在线播放免费观看| 三年在线观看免费观看完整版中文| 特黄aa级毛片免费视频播放| 亚洲成熟丰满熟妇高潮XXXXX | 中国毛片免费观看| 免费一区二区三区在线视频| 精品国产_亚洲人成在线| 亚洲国产AV无码一区二区三区| 亚洲熟女综合色一区二区三区| 亚洲 欧洲 日韩 综合在线| 亚洲av无码片区一区二区三区| 亚洲精品自在线拍| 亚洲人成毛片线播放| 亚洲精品国产免费| 亚洲一区精品视频在线| 亚洲砖码砖专无区2023 | 黄页网站免费观看| 毛片免费观看的视频在线| 毛色毛片免费观看| 国产精品自在自线免费观看| 免费a级毛片大学生免费观看|