首頁 > 类库下载 > PHP类库 > php字串處理內建函數

php字串處理內建函數

高洛峰
發布: 2016-10-21 10:59:58
原創
1454 人瀏覽過

PHP內建函數:


addcslashes — 為字串裡面的部分字元新增反斜線轉義字元
addslashes — 用指定的方式對字串裡面的字元進行轉義
bin2hex — 將二進位資料轉換成二進位資料十六進位表示
chop — rtrim() 的別名函數
chr — 傳回一個字元的ASCII碼
chunk_split — 以一定的字元長度將字串分割成小塊
convert_cyr_string — 將斯拉夫語字元轉換為別的字元
convert_uudecode — 解密一個字串
convert_uuencode — 加密一個字串
count_chars — 傳回字串裡面的字元使用資訊
crc32 — 計算一個字串的crc32多項式
crypt — 單向雜湊加密函數
echo — 用顯示一些內容
fprintf — 按照要求對資料進行返回,並直接寫入文檔流
get_html_translation_table — 返回可以轉換的HTML實體
hebrev — 將Hebrew編碼的字串轉換為可視的文本
hebrevc — 將Hebrewrew的編碼字串轉換為可視的文字
html_entity_decode — htmlentities ()函數的反函數,將HTML實體轉換為字元
htmlentities — 將字串中一些字元轉換為HTML實體
htmlspecialchars_decode —htmlspecialchars()函數的反函數,將HTML實體轉換為字元
htmlspecialchars — 將字串中一些字元轉換為HTML實體

explode — 將一個字串以分割符轉變為一數組形式

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 — 取得字串裡面的英文單字資訊
strcasecmp — 對字串進行大小比較,不區分大小寫
strchr — 透過比較傳回一個字串的部分strstr()函數的別名
strcmp — 對字串進行大小比較
strcoll – 根據本機設定對字串進行大小比較
strcspn — 傳回字元連續非符合長度的值
strip_tags — 移除一個字串裡面的HTML和PHP程式碼
stripcslashes — 反轉義addcslashes()函數轉義處理過的程式碼
stripcslashes — 反轉義addcslashes()函數轉義處理過的程式碼
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的數字數組: 

<?php 
    $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 的字元數組: 

<?php 
    $numbers=range(a,z); 
    foreach ($numbers as $mychrs) //遍历$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是一种遍历数组的简便方法,foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误,它有两种格式:

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()。比如:

<?php 
    $people=array(&#39;name&#39;,&#39;sex&#39;,&#39;nation&#39;,&#39;birth&#39;); 
    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()函数还具有第二参数,用来说明升序的规则是用来比较数字还是字符串的。比如:

<?php 
    echo "---按数字升序排序---
    "; 
    $num2=array(&#39;26&#39;,&#39;3&#39;,); 
    sort($num2,SORT_NUMERIC); 
    foreach ($num2 as $mychrs) 
    echo $mychrs." "; 
    echo "
    ---按字符升序排序---
    "; 
    $num3=array(&#39;26&#39;,&#39;3&#39;); 
    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()函数。

<?php 
    $peoples=array(&#39;xm&#39;=>&#39;name&#39;,&#39;xb&#39;=>&#39;sex&#39;,&#39;mz&#39;=>&#39;nation&#39;,&#39;cs&#39;=>&#39;birth&#39;); 
    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()函数将数组元素进行随机的重新排序,每次都会显示不同的排序组合,比如:

<?php 
    $fer=array(&#39;cnbruce&#39;,&#39;cnrose&#39;,&#39;cnjames&#39;,&#39;cnanne&#39;); 
    shuffle($fer); //随即排序,每刷新一次页面则进行一次随机排序。 
    foreach ($fer as $mychrs) 
    echo $mychrs." "; 
?>
登入後複製

5,PHP数组按原顺序反向排序

PHP中可使用array_reverse()函数将数组元素按原顺序反向排序。比如:

<?php 
$fer=array(&#39;cnbruce&#39;,&#39;cnrose&#39;,&#39;cnjames&#39;,&#39;cnanne&#39;); 
foreach ($fer as $mychrs) 
echo $mychrs." "; 
$fer=array_reverse($fer); //将数组内元素按原顺序反向排序 
echo "--按原顺序反向--"; 
foreach ($fer as $mychrs) 
echo $mychrs." "; 
?>
登入後複製


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板