1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢(xún)
      選擇下列產(chǎn)品馬上在線(xiàn)溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
      PHP字符串操作學(xué)習(xí)筆記

      由于PHP是弱語(yǔ)言類(lèi)型,所以當(dāng)使用字符串操作函數(shù)是,其他類(lèi)型的數(shù)據(jù)也會(huì)被當(dāng)作字符串來(lái)處理。

      成都創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比中寧網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式中寧網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋中寧地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴(lài)。

      一、字符串定義與顯示

      字符串通過(guò)單引號(hào)、雙引號(hào)來(lái)標(biāo)志,前者將單引號(hào)內(nèi)所有的字符都當(dāng)作字符來(lái)處理,后者則不是。

      字符串的顯示可以使用echo()和print()函數(shù),二者區(qū)別:print()具有返回值,返回1,而echo()則沒(méi)有,所以echo()比print()要快一些,print()能應(yīng)用于復(fù)合語(yǔ)句中,而echo()不能。另外echo可以一次輸出多個(gè)字符串,而print不可以。

      二、字符串的格式化

      函數(shù)printf()將一個(gè)通過(guò)替換值建立的字符串輸出到格式字符串中,語(yǔ)法格式為:

      int printf(string $format [,mixed $args])

      第一個(gè)參數(shù)$format是格式字符串,$args是要替換進(jìn)來(lái)的值,格式字符串里的字符“%”指出了一個(gè)替換標(biāo)記。

      格式字符串中的每一個(gè)替換標(biāo)記都由一個(gè)百分號(hào)組成,后面可能跟有一個(gè)填充字符、一個(gè)對(duì)齊方式字符、字段寬度和一個(gè)類(lèi)型說(shuō)明符。字符串的類(lèi)型說(shuō)明符為“s”。

      所有的轉(zhuǎn)換說(shuō)明都以一個(gè)“%”開(kāi)始,如果想打印一個(gè)“%”,必須使用“%%”。填充字符表明該字符用于填充結(jié)果,使結(jié)果為適當(dāng)大小的字符串,默認(rèn)情況下使用空格填充;對(duì)齊方式字符對(duì)字符串和數(shù)組有不同的作用,對(duì)于字符串,減號(hào)“-”使該字符串右對(duì)齊(默認(rèn)為左對(duì)齊),對(duì)于數(shù)字,加號(hào)“+”使正數(shù)在輸出的時(shí)候以加號(hào)開(kāi)頭;字段寬度是指字符串應(yīng)該輸出的寬度,如果字符串實(shí)際長(zhǎng)度小于該值,則使用填充字符填充;類(lèi)型說(shuō)明符表示要替換進(jìn)來(lái)的值將要轉(zhuǎn)化的數(shù)據(jù)類(lèi)型。

      函數(shù)sprintf()所帶的參數(shù)和printf()函數(shù)一樣,但是返回的是內(nèi)置的字符串,使得可以在變量中存儲(chǔ)字符串供以后使用。

      函數(shù)vprintf()允許在格式后面用數(shù)組作為參數(shù),用法和printf()函數(shù)基本相同。

      函數(shù)vsprintf()和vprintf()函數(shù)一樣,可以用數(shù)組作為參數(shù),但不使出字符串。

      三、常用字符串函數(shù)

      1.計(jì)算字符串長(zhǎng)度

      strlen()函數(shù):int strlen(string $string)

      該函數(shù)返回字符串的長(zhǎng)度,1個(gè)英文字符長(zhǎng)度為1個(gè)字符,1個(gè)漢字長(zhǎng)度為2個(gè)字符,字符串中的空格也算一個(gè)字符。

      2.將字符串改變大小寫(xiě)

      strtolower()函數(shù)可以將字符串全部轉(zhuǎn)化為小寫(xiě),使用strtoupper()函數(shù)將字符串全部轉(zhuǎn)化為大寫(xiě)。

      ucfirst()函數(shù)可以將字符串的第一個(gè)字符改成大寫(xiě),ucwords()函數(shù)可以將字符串中的每個(gè)單詞的第第一個(gè)字母改成大寫(xiě)。

      3.字符串裁剪

      ltrim()、rtrim()、trim()函數(shù)分別用于刪除字符串中最左邊、最右邊和兩邊與指定的字符,并返回剩余的字符串。

      string trim(string $str[,string $charlist])

      string rtrim(string $str[,string $charlist])

      string ltrim(string $str[,string $charlist])

      trim、ltrim、rtrim函數(shù)的默認(rèn)刪除字符

      字符ASCII碼意義
      ""32(0x20)空格
      "\t"9(0x09)制表符
      "\n"10(0x0A)換行
      "\r"13(0x0D)回車(chē)
      "\0"0(0x00)空字節(jié)
      "\x0B"11(0x0B)垂直制表符

      4.字符串的查找

      strstr()函數(shù)和stristr()函數(shù),兩者功能、返回值都一樣,只是stristr()函數(shù)不區(qū)分大小寫(xiě)。

      strstr()函數(shù)的語(yǔ)法格式:string strstr(string $haystack,string $needle)

      strstr()函數(shù)用于查找字符串指針$needle在字符串$haystack中出現(xiàn)的位置,并返回$haystack字符串中從$needle開(kāi)始到$haystack字符串結(jié)束處的字符串。如果沒(méi)有返回值,也沒(méi)有發(fā)現(xiàn)$needle,則返回FALSE。strstr()函數(shù)還有一個(gè)同名函數(shù)strchr()。

      5.字符串與ASCII碼

      使用ord()函數(shù)可以返回字符的ASCII碼,也可以使用chr()函數(shù)返回ASCII碼對(duì)應(yīng)的字符。

      四、字符串的比較

      比較主要是對(duì)字符串的類(lèi)型及大小寫(xiě)的比較。字符串的比較可以使用比較運(yùn)算符“==”、“!=”、“===”、“!==”來(lái)進(jìn)行比較,也可以使用比較函數(shù)來(lái)比較。

      使用“!=”和“==”比較的兩個(gè)對(duì)象不一定要類(lèi)型相等,整型也可以和字符串比較。而“!==”和“===”比較的對(duì)象類(lèi)型要嚴(yán)格相同才可能返回TRUE。

      常用的字符串比較函數(shù)有:strcmp()、strcasecmp()、strncmp()和strncasecmp()。語(yǔ)法格式如下:

      int strcmp(string $str1,string $str2)

      int strcasecmp(string $str1, string $str2)

      int strncmp(string $str1,string $str2,int $len)

      int strncasecmp(string $str1,string $str2,int $len)

      四個(gè)函數(shù)都用于比較字符串的大小,如果$str1比$str2大,則他們都返回大于0的整數(shù);如果$str1比$str2小,則返回小于0的整數(shù),如果兩者相等,則返回0.

      不同的是,strcmp()函數(shù)用于區(qū)分大小寫(xiě)的字符串比較;strcasecmp()函數(shù)用于不區(qū)分大小寫(xiě)的比較;strncmp()函數(shù)用于比較字符串的一部分,從字符串的開(kāi)頭開(kāi)始比較,$len是要比較的長(zhǎng)度;strncasecmp()函數(shù)的作用和strncmp()函數(shù)一樣,只是不區(qū)分大小寫(xiě)。

      五、字符串的替換

      字符串的替換指的是使用指定的字符串替換原來(lái)字符串中的相關(guān)字符,以組成新的字符串來(lái)滿(mǎn)足新的要求。

      常用的就是str_replace()函數(shù),語(yǔ)法如下:

      mixed str_replace(mixed $search,mixed $replace,mixed $subject[,int &$count])

      str_replace()函數(shù)使用新的字符串$replace替換字符串$subject中的$search字符串。$count是可選參數(shù),表示要執(zhí)行的替換操作的次數(shù)。

      str_replace()函數(shù)對(duì)大小寫(xiě)敏感,還可以實(shí)現(xiàn)多對(duì)一,多對(duì)多的替換,但無(wú)法實(shí)現(xiàn)一對(duì)多的替換。

      使用多對(duì)多替換時(shí),第一個(gè)數(shù)組中的元素被第二個(gè)數(shù)組中對(duì)應(yīng)的元素替換,如果有一個(gè)數(shù)組比另一個(gè)數(shù)組元素少,那不足的部分會(huì)當(dāng)作空來(lái)處理。

      substr_replace()函數(shù)實(shí)現(xiàn)替換字符串的一部分,語(yǔ)法格式:

      mixed substr_replace(mixed $string,string $replacement,int $start[,int $length])

      參數(shù)$string為原字符串,$replacement為要替換的字符串。

      $start是開(kāi)始替換的位置的偏移量,從0開(kāi)始計(jì)算,如果為0或是一個(gè)正值,就是從字符串開(kāi)始處計(jì)算的偏移量,如果是負(fù)值則是從字符串的末尾計(jì)算的偏移量。

      $length是可選參數(shù),表示要替換的長(zhǎng)度,如果不給定從$start位置開(kāi)始一直到字符串結(jié)束;如果$length為0,則替換字符串會(huì)插入到原字符串中;如果$length是正值,則表示用替換字符串替換掉的字符串成都;如果$length是負(fù)值,表示從字符串末尾開(kāi)始到$length個(gè)字符為止停止替換。

      六、字符串與HTML

      1.將字符轉(zhuǎn)換為HTML實(shí)體形式

      函數(shù)htmlspecialchars()可以將字符轉(zhuǎn)化為HTML的實(shí)體形式。

      可以轉(zhuǎn)化為HTML實(shí)體形式的特殊字符

      原字符字符名稱(chēng)轉(zhuǎn)換后的字符
      &AND記號(hào)&
      "雙引號(hào)"
      '單引號(hào)';
      <小于號(hào)<
      >大于號(hào)>

      htmlspecialchars()函數(shù)的語(yǔ)法格式如下:

      string htmlspecialchars(string $string[,int $quote_style[,string $charset[,bool $double_encode]]])

      參數(shù)$string是要轉(zhuǎn)換的字符串,$quote_style、$charset和$doublt_encode都是可選參數(shù)。$quote_style指定如何轉(zhuǎn)換單引號(hào)和雙引號(hào)字符,取值可以是ENT_COMPAT(默認(rèn)值,只轉(zhuǎn)換雙引號(hào))、ENT_NOQUOTES(都不轉(zhuǎn)換)和ENT_QUOTES(都轉(zhuǎn)換)。$charset是字符集,默認(rèn)為ISO-859-1。參數(shù)$double_encode如果為FALSE則不轉(zhuǎn)換成HTML實(shí)體,默認(rèn)為T(mén)RUE

      htmlentities()函數(shù)也可以將特殊字符轉(zhuǎn)換為實(shí)體,不過(guò)htmlspecialchars()函數(shù)只轉(zhuǎn)換&、“、‘、<、>這5個(gè)字符,而htmlentities()函數(shù)則會(huì)把漢字也進(jìn)行轉(zhuǎn)化。

      2.將HTML實(shí)體形式轉(zhuǎn)換為特殊字符

      使用htmlspecialchars_decode()函數(shù)可以將HTML的實(shí)體形式轉(zhuǎn)化為HTML格式,html_entity_decode()函數(shù)可以把所有HTML實(shí)體形式轉(zhuǎn)換為HTML格式

      3.換行符的轉(zhuǎn)換

      在HTML文件中使用"\n",顯示html代碼時(shí)不能顯示換行的效果,這時(shí)可以使用nl2br()函數(shù),這個(gè)函數(shù)可以用html中的"
      "標(biāo)記代替字符串中的換行符"\n"。

      七、其他字符串函數(shù)

      1.字符串與數(shù)組

      (1)字符串轉(zhuǎn)化為數(shù)組

      使用explode()函數(shù)可以用指定的字符串分割另一個(gè)字符串,并返回一個(gè)數(shù)組。

      array explode(string $separator ,string $string[,int $limit])

      此函數(shù)返回由字符串組成的數(shù)組,每個(gè)元素都是$string的一個(gè)子串,它們被字符串$separator作為邊界點(diǎn)分割出來(lái)。

      如果設(shè)置了$limit參數(shù),則返回的數(shù)值包含最多$limit個(gè)元素,而最后那個(gè)元素將包含$string的剩余部分。如果$limit參數(shù)是負(fù)數(shù),則返回除了最后的-$limit個(gè)元素外的所有元素。

      如果參數(shù)$separator為空字符串(""),explode()函數(shù)將返回FALSE,如果$separator所包含的值在$string中找不到,explode()函數(shù)將返回包含$string單個(gè)元素的數(shù)組。

      (2)數(shù)組轉(zhuǎn)化為字符串

      使用implode()函數(shù)可以將數(shù)組中的字符串連接成一個(gè)字符串

      string implode(string $glue,array $pieces)

      $pieces是保存要連接的字符串的數(shù)組,$glue是用于連接字符串的連接符。

      implode()函數(shù)還有一個(gè)別名,即join()函數(shù)。

      2.字符串加密函數(shù)

      crypt()函數(shù)完成加密功能

      string crypt(string $str[,string $salt])

      該函數(shù)完成的是單向加密功能,即字符串一旦被加密就無(wú)法轉(zhuǎn)換成原來(lái)的形式。函數(shù)中$str是需要加密的字符串,第二個(gè)可選參數(shù)$salt是一個(gè)位字串,它能影響加密的暗碼,進(jìn)一步排除與計(jì)算***的可能性。

      如果要獲得更高的安全性,可以使用md5()函數(shù),這個(gè)函數(shù)使用MD5散列算法,將一個(gè)字符串轉(zhuǎn)換成一個(gè)長(zhǎng)32位的唯一字符串,這個(gè)過(guò)程是不可逆的。


      網(wǎng)頁(yè)名稱(chēng):PHP字符串操作學(xué)習(xí)筆記
      鏈接URL:http://www.ef60e0e.cn/article/psgpjj.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        临西县| 类乌齐县| 蛟河市| 江川县| 九龙县| 汉寿县| 武乡县| 民县| 正镶白旗| 龙南县| 黔西县| 许昌县| 上蔡县| 贵州省| 东明县| 鄂托克前旗| 宜春市| 肥东县| 焦作市| 克拉玛依市| 准格尔旗| 营口市| 读书| 正阳县| 宿迁市| 防城港市| 乐山市| 汪清县| 三明市| 安陆市| 周宁县| 建平县| 松阳县| 镇宁| 南溪县| 突泉县| 阿拉善盟| 武威市| 邵阳市| 连山| 淳化县|