日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Php基础字符串篇

發布時間:2025/3/19 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Php基础字符串篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、單引號與雙引號的區別:

雙引號的內容是經過PHP語法分析器解析過的,任何變量在雙引號中都會被轉換為它的值進行輸出,而單引號的內容是所見即所得,無論有無變量,都被當作普通字符串進行原樣輸出;另外在進行sql查詢之前,所有字符串都必須加單引號,防止可能的注入漏洞和sql錯誤;

2、字符串連接符:

半角句號.是字符串連接符,可以把兩個或兩個以上的字符串連接成一個字符串,應用字符串連接符無法實現大量的字符串拼接,PHP允許在雙引號中直接包含字符串變量進行連接;

3、字符串常用操作函數:

trim() 去除字符串首尾空格和特殊字符,并返回去掉空格和特殊字符之后的字符串。

addcslashes() 函數在指定的字符前添加反斜杠。第二個參數可以是 字符、字符串、或范圍字符如“a..z” "A..Z"

addslashes() 函數在指定的預定義字符前添加反斜杠。

預定義字符是:單引號 (')、雙引號 (")、反斜杠 (\)、NULL

strlen() 確定字符串長度

mb_strlen() 確定中文字符串長度,gbk編碼下每個中文字符所占字節為2,utf-8編碼下每個中文字符所占字節為3,但這樣過于麻煩,在此借鑒wordpress中的一段代碼:

$str = 'Hello,世界!'; preg_match_all('/./us', $str, $match); echo count($match[0]); 思想是用 正則表達式將字符串分割成單個字符,并直接用 count計算出匹配到的字符數,便是我們想要的結果了。

大小寫轉換 strtolower 小寫? strtoupper 大寫 ucfirst 將字符串第一個字母大寫? ucwords將字符串每個單詞首字母大寫

字符串比較是否相等:strcmp()? 區分大小寫比較是否相等返回true或false? strcasecmp() 不區分大小寫比較是否相等,返回true或false

截取中英文混合字符串,防止出現亂碼的方法:

/* * 中文截取,支持gb2312,gbk,utf-8,big5 * @param string $str 要截取的字串 * @param int $start 截取起始位置 * @param int $length 截取長度 * @param string $charset utf-8|gb2312|gbk|big5 編碼 * @param $suffix 是否加尾綴 */ function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) {if(function_exists("mb_substr")){if(mb_strlen($str, $charset) <= $length) return $str;$slice = mb_substr($str, $start, $length, $charset);}else{$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";preg_match_all($re[$charset], $str, $match);if(count($match[0]) <= $length) return $str;$slice = join("",array_slice($match[0], $start, $length));}if($suffix) return $slice."…";return $slice;
中英文混合字符串反轉:

UTF-8編碼:

$str = '中文.it動力!'; echo str_rev_gb($str); /** 此函數的作用是反轉中文字符串 mb_strlen() 獲取字符的長度 mb_substr() 獲取字符的單個元素 krsort() 按照鍵值逆序排序數組 implode() 將數組拼接為字符串 explode() 使用字符串分隔字符串*/ function str_rev_gb($str){//判斷輸入的是不是utf8類型的字符,否則退出if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){exit("輸入類型不是UTF8類型的字符串");}$array=array();//將字符串存入數組$l=mb_strlen($str,'UTF-8');for($i=0;$i<$l;$i++){$array[]=mb_substr($str,$i,1,'UTF-8');}//反轉字符串krsort($array);//拼接字符串$string=implode($array);return $string; }echo utf8_strrev($str,false); //正則表達式 function utf8_strrev($str, $reverse_numbers = true){$pattern = $reverse_numbers ? '/./us' : '/(\d+)?./us';preg_match_all($pattern, $str, $ar);return join('',array_reverse($ar[0])); }GBK編碼:

function strrev_ext ($str) {if (is_string($str)) {$len = strlen($str);$newstr = "";for ($i = $len - 1; $i >= 0; $i -= 1) {if(ord($str{$i})>160){$newstr .= $str{$i-1}.$str{$i};$i-=1;}else{$newstr.=$str{$i};}}return $newstr;}else{return false;} } //函數使用示范//純英文字符 $str="abcde"; echo strrev_ext($str)."<br />"; //純漢字 $str="中華人民"; echo strrev_ext($str)."<br />"; //中英混合 $str="中國china人民people"; echo strrev_ext($str)."<br />"; str_split() 字符串轉數組 無分隔符

explode() 使用一個字符串分割另一個字符串返回數組

另外,更多PHP字符串操作可參考該網址





總結

以上是生活随笔為你收集整理的Php基础字符串篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。