首頁 後端開發 php教程 php字串函數

php字串函數

Nov 24, 2016 am 10:49 AM

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? 說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHP和框架:現代化語言 PHP和框架:現代化語言 Apr 18, 2025 am 12:14 AM

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

為什麼要使用PHP?解釋的優點和好處 為什麼要使用PHP?解釋的優點和好處 Apr 16, 2025 am 12:16 AM

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

PHP的影響:網絡開發及以後 PHP的影響:網絡開發及以後 Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

See all articles