首頁  >  文章  >  後端開發  >  php常用函數和函數庫總結

php常用函數和函數庫總結

伊谢尔伦
伊谢尔伦原創
2017-06-27 11:30:471801瀏覽

首先介紹下比較簡單但必不可少且實用的知識,可以當手冊查詢,適合像我一樣的新手看。

PHP常用函式庫函數介紹

一、PHP字串運算常用函數
1.決定字串長度
int strlen(string str)
2.比較兩個字串
a.strcmp函數對兩個字串進行二進位安全的比較,並區分大小寫
int strcmp(string str1,string str2)
b. 以不區分大小寫的方式比較兩個字串
int strcasecmp(string str1,string str2)

3.求兩個字串相同部分
int strspn(string str1,string str2)
4.求兩個字串的不同部分
5.int strcspn(string str1,string str2)
6.處理字串大小寫
a.將字串全部轉換為小寫
string strtolower(string str)
b. 將字串全部轉換為大寫
string strtoupper(string str)
c. 將字串第一個字元大寫
string ucfirst(string str)
d. 把字串中每個字的首字轉換成大寫
string ucwords(string str)
7.字串與HTML相互轉換
a. 將換行符號轉換為HTML終止標記
string bl2br(string str)
b. 將特殊字元轉換wieldHTML等價形式(不解析格式)
string htmlentities(string str[,int quote_style[ ,int charset]])
string htmlspecialchars(string str[,int quote_style[,string charset]])
c. 將HTML轉換為純文本,移除所有的php和html標籤
string strip_tags(string str[,string allowable_tags])
d. 將文字轉換為HTML等價形式
array get_html_translaction_table(int table[,int quote_style])
e. 建立一個自定義的轉換清單
string strtr(string str,array replacements)
8.正規表示式函數的替代函數
a. strtok函數根據預先定義的字串清單來解析字串
string strtok(string str,string tokens):傳回直到遇到tokens之前的所有內容
b. 根據預先定義的定界符分析字串
array explode(string separator,string str [,int limit]):分割字串
c. 將陣列轉換為字串
string implode(string delimiter, array array)
d. 找到字串的第一次出現
int strpos(string str,string substr[,int offset])
e. 找到字串的最後一次出現
int strrpos(string str,char substr[,offset])
f. 用另一個字元串替代字串的所有實例
mixed str_replace(string occurrence,mixed replacement,mixed str[,int count])
g. 取得字串的一部分strstr回傳字串中預定義字串第一次出現開始的剩餘部分
string strstr(string str,string occurrence)
h. 根據預先定義的偏移傳回字串一部份
string substr(string str,int start[,ing length]):start可為負數,表示倒數第幾開始
i. 決定字串出現的頻率
int substr_count(string str,string substring)
j. 用另一個字串取代一個字串的一部份
string substr_replace(string str,string replacement,int start[,int length])
9.填入與剔除字串
a. 從字串開始出裁切字元
string ltrim(string str[,string charliset])
b. 從字串結尾裁切字元
string rtrim(string str[,string charliset])
c. 從字串兩端裁切字元
string trim(string str[,string charliset])
d. 填入字串
string str_pad(string str,int length[,string pad_string[,int pad_type]])
10.字元與單字數
a. 字串中字元計數
mixed count_chars(string str[,mode])
b. 字串中單字總數計數
mixed str_word_count#(string str[, int format])
二、PHP Web開發中常用的三個表單驗證函數

(1)isset();-適合於偵測是否存在這個參數。用來避免引用不存在的變數

定義和作用範圍:用於測試一個變數是否具有值(包括0,FALSE,或一個空字符串都回傳true,但不能是NULL),即: 「http://localhost/?fo=」也是可以透過偵測,因此不適用。但如果是「http://localhost/」參數中並不含fo參數,就可以用isset來檢測,此時isset($_GET['fo'])回傳false

不適用於:此函數不適合驗證html表單中的文字的有效方式。要檢查使用者輸入文字是否有效,可以用empty();

(2)empty();——最好用的函數,用來檢查變數是否有空值

#定義和作用範圍:用於檢查變數是否具有空值:包括:空字符串,0,null 或false,這些都傳回false,即:「http://localhost/?fo=」或「http:// localhost/?fo=0”時,empty偵測出來的結果都是ture

不適用範圍:不適用於偵測可為0的參數

(3)is_numeric();——检查变量是否为数字

定义和作用范围:检查变量是否为数字,只适用于检测数字

不适用范围:但假如参数名不存在,会出错,因此不适合于第一层检测

另外还有一个好用的验证函数是checkdate(month,day,$year),用来确认某个日期是否存在或在过去是否存在

综合示例:

这是表单:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>表单验证示例</title>
</head>
<body>
</body>
<p>
<a href="?fo=Jack">传有效值</a> <a href="?fo=">传空值</a> <a href="?fo=0">传0值</a>
<br /><br />
<a href="?sex=m">性别:男</a> <a href="?sex=f">性别:女</a>
<br /><br />
<a href="/">清空</a>
<br /><br />
<input type="text" value="<?php echo $_GET[&#39;fo&#39;]!=&#39;&#39;?$_GET[&#39;fo&#39;]:&#39;&#39;;?>" size="155" />
</p>
</html>[code]
这是验证
[code]<?php
ini_set("display_errors",1);
//ini_set("
error_reporting
",E_ALL); print_r
error_reporting(E_ALL);
$a=NULL;
if(isset($a))echo &#39;变量$a的isset为真&#39;;
echo &#39;<h2>isset的情形:</h2>&#39;;
if(isset($_GET[&#39;fo&#39;])){
echo &#39;变量\&#39;fo\&#39;的isset为真,变量可用&#39;;
}else{
echo &#39;变量\&#39;fo\&#39;的isset为假,无变量设置&#39;;
}
echo &#39;<h2>empty的情形:</h2>&#39;;
if(empty($_GET[&#39;fo&#39;])){
echo &#39;变量\&#39;fo\&#39;的empty为真,即空值或无效值&#39;;
}else{
echo &#39;变量\&#39;fo\&#39;的empty为假,有值&#39;;
}
echo &#39;<h2>is_numeric的情形:</h2>&#39;;
if(is_numeric($_GET[&#39;fo&#39;])){ //在参数中无fo参数时,则出错。
echo &#39;变量\&#39;fo\&#39;的is_numeric为真,是数字&#39;;
}else{
echo &#39;变量\&#39;fo\&#39;的is_numeric为假,不是数字&#39;;
}
echo "<h2>\$_GET[&#39;fo&#39;]=&#39;&#39;的情形:</h2>";
if($_GET[&#39;fo&#39;]==&#39;&#39;){ //在参数中无fo参数时,则出错。
echo &#39;fo无值,空的字符串&#39;;
}elseif($_GET[&#39;fo&#39;]!=&#39;&#39;){
echo &#39;fo有值,不为\&#39;\&#39;.&#39;;
}
echo "<h2>\$_GET[&#39;sex&#39;]=&#39;m&#39;的情形:</h2>";
if($_GET[&#39;sex&#39;]==&#39;m&#39;){ //当参数中无sex变量时就会出错。
echo &#39;男的&#39;;
}elseif($_GET[&#39;sex&#39;]==&#39;f&#39;){
echo &#39;女的&#39;;
}
?>

三、其他常用库函数

(1)ini_set ini_get——可操作配置参数列表
为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数。
比如我们常用到的:
获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(addslashes)数据;
设定 max_execution_time 来延长程序的执行时间;
设定 error_reporting 使自己的项目在开发与运营阶段切换;
设定 memory_limit 加大内存等等…
(2)ini_set(string varname, string newvalue ) : //设定环境配置的参数
ini_get(string varname) : //获取环境配置的参数
PHP ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表
其实你把PHP ini_set函数和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以结合两个函数:
ini_set ( 'include_path' , ini_get ( 'include_path' ). ':/your_include_dir:' );
(3)chdir(dirname(FILE)); //切换到global.php所在目录
(4)ob_start(‘ui_handler');//设置输出缓冲区句柄为ui_handler,即系统首页面为ui_handler函数所定义的内容
(5)int intval(mixed var, int [base]);
本函数可将变量转成整数类型。可省略的参数 base 是转换的基底,默认值为 10。转换的变量 var 可以为数组或类之外的任何类型变量。
(6)error_reporting(report_level) 函数—— 设置 PHP 的报错级别并返回当前级别
其中report_level可取值为0、1、2、4、8、16、32、……、4096、8191
例子:任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

<?php
//禁用错误报告
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//报告所有错误
error_reporting(E_ALL);
?>

以上是php常用函數和函數庫總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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