首頁  >  文章  >  後端開發  >  php字串函數

php字串函數

巴扎黑
巴扎黑原創
2016-11-24 10:49:331264瀏覽

1查找字符位置函数:
strpos($str,search,[int]):查找search在$str中的第一次位置从int开始;
stripos($str,search,[int]):函数返回字符串在另一个字符串中第一次出现的位置。该函数对大小写不敏感
strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int


2、提取子字符函数(双字节)
submit($str,int start[,int length]):从$str中strat位置开始提取[length长度的字符串]。
strstr($str1,$str2):从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回FALSE。
stristr() 功能同strstr,只是不区分大小写。
strrchr() 从最后一次搜索到的字符处返回;用处:取路径中文件名

3、替换字符串
str_replace(search,replace,$str):从$str中查找search用replace来替换

str_irreplace(search,replace,$str):

strtr($str,search,replace):这个函数中replace不能为"";

substr_replace($Str,$rep,$start[,length])$str原始字符串,$rep替换后的新

字符串,$start起始位置,$length替换的长度,该项可选

4、字符长度
int strlen($str)

5、比较字符函数
int strcmp($str1,$str2):$str1>=<$str2分别为正1,0,-1(字符串比较)
strcasecmp() 同上(不分大小写)

strnatcmp("4","14") 按自然排序比较字符串
strnatcasecmp() 同上,(区分大小写)

6、分割成数组函数
str_split($str,len):把$str按len长度进行分割返回数组
split(search,$str[,int]):把$str按search字符进行分割返回数组int是分割几次,后面的将不分割
expload(search,$str[,int])

7、去除空格:ltrim、rtrim、trim

8、加空格函数
chunk_split($str,2);向$str字符里面按2个字符就加入一个空格;

9、chr、ord--返回指定的字符或ascii

10、HTML代码有关函数

nl2br():使/n转换为<br>。

strip_tags($str[,'

']):去除HTML和PHP标记 
在$str中所有HTML和PHP代码将被去除,可选参数为html和PHP代码作用是将保留

可选参数所写的代码。
如:echo strip_tags($text, '

');


htmlspecialchars($str[,参数]):页面正常输出HTML代码参数是转换方式

11、字符大小写转换函数
strtolower($str) 字符串转换为小写
strtoupper($str) 字符串转换为大写
ucfirst($str) 将函数的第一个字符转换为大写
ucwords($str) 将每个单词的首字母转换为大写

12、数据库相关函数
addslashes($str):使str内单引号(')、双引号(")、反斜线(/)与 NUL

字符串转换为/',/",//。
magic_quotes_gpc = On 自动对 get post cookie的内容进行转义

get_magic_quotes_gpc()检测是否打开magic_quotes_gpc

stripslashes() 去除字符串中的反斜杠


13、连接函数
implode(str,$arr) 将字符串数组按指定字符连接成一个字符串;implode()函数有个别名函数join

addcslashes —— 為字串裡面的部分字元添加反斜線轉義字元
addslashes —— 用指定的方式對字串裡面的字元進行轉義
bin2hex —— 將二進位資料轉換成十六進位表示
chr —— 回傳一個字元的ASCII碼
chunk_split —— 以一定的字元長度將字串分割成小塊
convert_cyr_string —— 將斯拉夫字元轉換為別的字元長度將字串分割成小塊
convert_cyr_string —— 將斯拉夫字元轉換為別的字元
convert_uudecode —— 解密一個
convert_uuencode ——加密一個字串
count_chars —— 傳回一個字串裡面的字元使用資訊
crc32 —— 計算一個字串的crc32多項式
crypt —— 單向雜湊加密函數
explode —— 將一個字串用分割符轉變為一數組形式
fprintf —— 按照要求對資料進行返回,並直接寫入文檔流
get_html_translation_table —— 返回可以轉換的HTML實體
html_entity_decode —— htmlentities ()函數的反函數,將HTML htmlentities —— 將字串中一些字元轉換為HTML實體
htmlspecialchars_decode —— htmlspecialchars()函數的反函數,將HTML實體轉換為字元
htmlspecialchars —— 將字串中某些字元轉換為HTML實體
implode —— 將字串中某些字元陣列以特定的分割符轉換為字串
join —— 將陣列轉換為字串,implode()函數的別名
levenshtein —— 計算兩個字的差別大小
localeconv —— 取得數字相關的格式定義
ltrim —— 移除字串左側的空白或指定的字元
md5_file —— 將一個檔案進行MD5演算法加密
md5 —— 將一個字串進行MD5演算法加密
metaphone —— 判斷一個字串的發音規則
money_format — — 依照參數對數字進行格式化的輸出
nl_langinfo —— 查詢語言和本地資訊
nl2br —— 將字串中的換行符「/n」替換成「

number_format —— 依照參數對數字進行格式化的輸出
ord —— 將一個ASCII碼轉換為一個字元
parse_str —— 把一定格式的字串轉變為變數和值
print —— 用以輸出一個單獨的值
printf —— 依照要求對資料進行顯示
quoted_printable_decode —— 將一個字串加密為一個8位的二進位字串
quotemeta —— 對若干個特定字元進行轉義
rtrim —— 移除字串右側的空白或指定的字元
setlocale — — 設定關於數字,日期等等的本地格式
sha1_file —— 將一個檔案進行SHA1演算法加密
sha1 —— 將一個字串進行SHA1演算法加密
similar_text —— 比較兩個字串,傳回系統認為的相似字符個數
soundex —— 判斷一個字串的發音規則
sprintf —— 按照要求對資料進行返回,但是不輸出
sscanf —— 可以對字串進行格式化
str_ireplace —— str_replace() 像函數一樣匹配和取代字串,但不區分大小寫
str_pad —— 對字串進行兩側的補白
str_repeat —— 對字串進行重複組合
str_replace —— 比對與取代字串
str_rot13 —— 將字串進行ROT13加密處理
str_shuffle —— 對一個字串裡面的字元進行隨機排序
str_split —— 將一個字串依照字元間距分割為一個陣列
str_word_count —— 取得字串裡面的英文單字資訊
strcasecmp —— 對字串進行大小比較,不區分大小寫
strchr —— 透過比較傳回字串的部分strstr()函數的別名
strcmp —— 對字串進行大小比較
strcoll – 根據本地設定對字串進行大小比較
strcspn — — 傳回字元連續非符合長度的值
strip_tags —— 移除一個字串裡面的HTML和PHP程式碼
stripcslashes —— 反轉義addcslashes()函數轉義處理過的字串
stripos —— 尋找並傳回首個符合項目的位置,符合不區分大小寫
stripslashes —— 反轉義addslashes()函數轉義處理過的字串
stristr —— 透過比較傳回字串的部分,比較時不區分大小寫
strlen — — 取得一個字串的編碼長度
strnatcasecmp —— 使用自然排序法對字串進行大小比較,不區分大小寫
strnatcmp —— 使用自然排序法對字串進行大小比較
strncasecmp —— 對字串的前N個字元進行大小比較,不區分大小寫
strncmp —— 將字串的前N個字元進行大小比較
strpbrk —— 透過比較傳回一個字串的部分
strpos —— 找出並傳回首個符合項的位置
strrchr —— 透過從後往前比較返回一個字串的部分
strrev —— 將字串裡面的所有字母反向排列
strripos —— 從後往前查找並返回首個匹配項的位置,匹配不區分大小寫
strrpos —— 從後往前查找並返回首個匹配項的位置
strspn —— 匹配並返回字符連續出現長度的值
strstr —— 通過比較返回一個字符串的部分
strtok —— 用指定的若干個字元來分割字串
strtolower —— 將字串轉換為小寫
strtoupper —— 將字串轉變為大寫
strtr —— 將字串比較取代
substr_compare —— 將字串截取後的比較
substr_count ——計算字串中某字符段的出現次數
substr_replace —— 將字串中的部分字元替換
substr —— 將字串截取
trim —— 移除字串兩邊的空白或指定的字元
ucfirst ——將所給字串的第一個字母轉換為大寫
ucwords —— 將所給字串的每一個英文單字的第一個字母變成大寫
vfprintf —— 按照要求對資料進行返回,並直接寫入文件流
vprintf —— 按照要求對資料進行顯示
vsprintf —— 依照要求對資料進行傳回,但不輸出
wordwrap - 依照一定的字元長度分割字串

 

1,快速建立數組的函數range ()

例如range()函數可以快速建立從1到9的數字陣列:

$numbers=range(1,9); //用range直接建立1~9共9個數字組成的數組,以“1”開始“9”結束。
echo $numbers[1]; //輸出建立的第二個陣列值:2; echo $numbers[0];則輸入第一個值:0。 
?>

當然,使用range(9,1)則創造了9到1的數字陣列。同時,range()還可以建立從a到z 的字元陣列:

$numbers=range(a,z);
foreach ($numbers as $mychrs) //遍歷$numbers數組,每次$numbers數組,每次循環當前單元值被賦給$mychrs
echo $mychrs." "; //output a b c d e f g h i j k l m n o p q r s t u v w x y z 
?>

//foreach是一種遍歷數組的簡能方法,each用於其它資料類型或未初始化的變數時會產生錯誤,它有兩種格式:

foreach (array_expression as $value) statementforeach (array_expression as $key => $value) statement
第一種格式遍歷給定的array_expression 陣列。每次循環中,當前單元的值被賦給 $value 並且數組內部的指標會向前移一步(因此下一次循環中將會得到下一個單元)。第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環中被賦給變量$key


使用字符數組時注意大小寫,比如range(A,z)和range( a,Z)是不一樣的。

range()函數也具有第三個參數,此參數的作用是設定步長,例如range(1,9,3)所建立的陣列元素是:1、4、7

2,PHP中常規陣列的排序

一般數組中的各元素均以字元或數字表現的,所以可對數組元素進行升序排列,該功能函數為sort()。例如:

$people=array('name','sex','nation','birth');
foreach ($people as $mychrs)
echo $mychrs." ";
sort( $people);
echo "
---排序後---
";
foreach ($people as $mychrs)
echo $mychrs." ";
?>

升序排序後的陣列元素顯示為birth name nation sex,當然,sort()函數是區分字母大小寫的(字母從大到小的順序是:A…Z…a…z)

Sort()函數也具有第二參數,用來說明昇序的規則是用來比較數字還是字串的。例如:

echo "---依數字升序排序---
";
$num2=array('26','3',);
sort($num2,SORT_NUMERIC) ;
foreach ($num2 as $mychrs)
echo $mychrs." ";

echo "
---按字元升序排序---
";
$num3=array('26 ','3');
sort($num3,SORT_STRING);
foreach ($num3 as $mychrs)
echo $mychrs." ";
?>

SORT_NUMERIC和SORT_STRING用來聲明按數字或字元的升序排列。如果依照數字升序排列是:3,26;但如果依照字元升序排列則是:26,3了。

PHP中除了升序函數以外,還有降序或稱反向排列的函數,就是rsort()函數,例如:

$num1=range(1,9);
rsort($num1); //這裡其實相當於range(9,1)

3,PHP中關聯數組的排序

PHP除了支援數字索引數組以外,還支援相關數組。例如如下數組就是一個相關(關聯)數組:

$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=> 'birth');

使用sort($peoples)預設即是依照元素定義值的升序排序,在關聯數組中可使用asort()函數表示依元素值升序排序,關聯數組中最主要的則是可依照關鍵字(如xm 、xb、mz等)的升序排序,此方法是用函數ksort()函數。

$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
foreach ($peoples as $mychrs)
echo $mychrs." ";

echo "
--依元素值升序排列--
";
asort($peoples);
foreach ($peoples as $mychrs)
echo $mychrs." ";

echo "
--依關鍵字升序排列--
";
ksort($peoples);
foreach ($peoples as $mychrs )
echo $mychrs." ";
?>
和常規數組擁有sort()升序函數的反向排序rsort()降序函數相對應的,關聯數組也有對應的降序函數:asort()函數和arsort( )函數、ksort()函數和krsort()函數。
記憶:原型函數是sort(),其中a、k表示關聯數組相關必須前置,反向排序使用r修飾。

4,PHP數組元素隨機排序

PHP中使用shuffle()函數將數組元素進行隨機的重新排序,每次都會顯示不同的排序組合,例如:

$fer=array(' cnbruce','cnrose','cnjames','cnanne');
shuffle($fer); //隨即排序,每刷新一次頁面則進行一次隨機排序。

foreach ($fer as $mychrs)
echo $mychrs." ";
?>

5,PHP數組依原始順序反向排序

PHP中可使用array_reverse()函數將反數組元素按原順序向排序。例如:

$fer=array('cnbruce','cnrose','cnjames','cnanne');
foreach ($fer as $mychrs)
echo $mychrs." ";

$ fer=array_reverse($fer); //將數組內元素按原順序反向排序
echo "
--按原順序反向--
";
foreach ($fer as $mychrs )
echo $mychrs." ";
?>

output: cnbruce cnrose cnjames cnanne 
--按原順序反向--
cnanne cnjames cnrose cnbruce

注意這裡的$arraanneanne cnjames cnrose cnbruce

注意這裡的$array.此先前的任何排序函數都只是聲明引用,並沒有對原有數組進行重新定義,但當我調試該函數時則需要重新定義。這是因為array_reverse()是傳回原數組修改後的副本,如果不需要原有數組,可對原數組重新定義達到覆蓋的目的,否則就另外定義數組保存副本,比如:$fer_bak=array_reverse($fer_bak );

🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:PHP常用函數下一篇:PHP常用函數