本文目錄一覽:
求php函數集,急!
PHP基礎
Author:陳慶平 (Andych)
E-mail:ahut9923@126.com
一、PHP入門
二、PHP變量
1、php變量的命名
變量由字母,數字,下劃線組成
1)變量名區分大小寫
2)變量名必須以$開頭
3)不能以數字開頭
4)不能是系統關鍵字
$example , $sut_name , $stu_name_2
2、如何申明變量
$stu_name;
$stu_name,$stu_age;
二、PHP變量
3、判斷變量是否設置
isset() 判斷變量是否設置,返回true或false
4、定義常量
define(“”,常量值)
defined() 判斷常量是否設置,返回true 或 false
三、PHP數據類型
變量的數據類型
1)布爾型(boolean)
2) 整型
3)浮點型
4)字符串型
5)數組
6)對象
7)空值
8)資源
三、PHP數據類型
算術運算符
邏輯運算符
比較運算符
賦值運算符
加一/減一運算符
四、運算符
邏輯運算符
賦值運算符
三元運算符
格式: 表達式?結果1:結果2
$c = $a$b ? “good”:”bad”
PHP基礎
Author:陳慶平 (Andych)
E-mail:ahut9923@126.com
一、PHP流程控制語句
1、分支結構
格式1:
if語句
if(條件)
{
語句集;
}
一、PHP流程控制語句
格式2:
if(條件){
語句集;
}else{
語句集;
}
一、PHP流程控制語句
格式3:
If(條件1)
{
語句集1;
}else if(條件2)
{
語句集2;
}
一、PHP流程控制語句
多分支結構:
switch語句
格式:
switch(表達式)
{ case 常量: 語句;break;
case 常量2: 語句;break;
……….
default: 語句;break;
}
一、PHP流程控制語句
2、循環結構
While循環
While(表達式)
{
語句集;
}
一、PHP流程控制語句
for循環
for(表達式1; 表達式2; 表達式3)
{
語句集;
}
一、PHP流程控制語句
break 和 continue 語句
break 強行終止當前循環
continue 終止當前執行語句,繼續執行循環
的下一句
PHP
Author: 陳慶平(Andych)
E-mail:ahut9923@126.com
PHP
• 數組
分類: 枚舉數組、關聯數組和多維數組
枚舉數組:下標為整數的數組
例如:$stu[1] = “ 張三”
關聯數組:用字符串做為下標的數組
例如:$stu[“name”] = “ 張三”
PHP
• 數組初始化
$stu[] = “name”
$stu[] = “sex”
注意:數組下表不需要按順序分配
例題:排序數組元素(任意10 個數排
序)
PHP
• 使用array 函數
例如:
$stu = array(“james”,”jack”,”Toms”)
數組的起始下標可以不從0 開始
$stu = array(2=”james”,”jack”,”Toms”)
表示下標從2 開始
PHP
$arr = array[“name”=”james”,”sex”=”boy”]
• 數組的應用
1 、unset() 刪除數組元素
unset($arr) 刪除整個數組
unset($arr[0]) 刪除單個數組元素
PHP
2 、foreach() 遍歷整個數組
foreach($arr as $value)
輸出數組中的元素
foreach($arr as $key=$value)
輸出數組中的下標和元素
PHP
• each() 返回數組中當前的鍵/值對並
將數組指針向前移動一步
返回4個值 0,1,key 和 value
如:$arr = array(4=”Test
user”,”Toms”,”Andych”);
$foo = each($arr);
print_r($foo);
結果:
Array ( [1] = Test user [value] = Test user [0] = 4 [key] = 4 )
PHP
• list() 把數組中的值賦給一些變量
如:list($var) = $arr
注意:list 函數僅用於數組下標從0 開始
的數組
• current() 返回數組中當前元素
如:current($arr)
PHP
next() 將數組的指針移到下一個元素上
如:next($arr)
prev() 將數組的指針移到上一個元素上
如:prev($arr)
range() 自動生成一個包含指定範圍單元的
數據
如:range(0,40)
PHP
count() 統計數組中元素個數
如:count($arr)
array_count_values() 統計數組中相同
元素的個數
PHP 函數
• 函數
獨立完成特定功能的代碼塊
• 內置函數
1 、echo() 輸出一個或多個字符串
如:echo “ 程序設計基礎”
PHP 函數
2 、print() 輸出字符串
如:print(“PHP 程序設計”)
用法同echo
注意:
35?print(“ 錯誤的邏輯”):print(“ 正確的邏輯”)
PHP 函數
Print start
// 任意行文字,可以包含HTML 代碼
start;
輸出任意行字符串
3 、include() 包含一個文件
如:include(“a.php”)
PHP 函數
include包含的文件中return語句的使用
$b = include(“a.php”);
If($b==“ok”)
{
echo “File is Ok”;
}
a.php文件
?return “ok”?
注意:在包含文件中函數執行到return將會終止。
PHP 函數
4、require() 包含一個文件
如:require(“a.php”)
功能同include方法一樣
• 用戶自定義函數
1、函數聲明
Function func_name($args)
{
//函數體
}
PHP 函數
關鍵字含義:
function:用於聲明自定義函數的關鍵字
Func_name:聲明的函數名
$args:參數名稱
1、定義無參函數
function fun()
{
Echo “定義無參數函數”;
}
PHP 函數
2 、定義有參函數
(1 )按值傳遞
$num = 100;
Function func($a)
{
$a = $a*10;
}
Func($num)
PHP 函數
(2) 按地址傳遞
$num = 100;
Function func($b)
{
$b = $b + 10;
}
Func($sum);
修改如下參數php.ini
allow_call_time_pass_reference = on
PHP 函數
(3)默認值傳遞
function func($a,$num=100)
{
return $a*$num;
}
echo func(200)
echo func(200,8);
注意:盡量不要將默認值參數定義在第一個參數
位置,容易造成定義默認值實效
PHP 函數
(4 )、函數的返回值
return value;
返回函數的內容
3 、變量函數
如果一個變量名後有括號,PHP 則搜索與變
量值相同的函數。並且執行它
PHP 函數
Function foo()
{
Echo “ 執行func() 函數” ;
}
$func = ‘foo’;
$func(); // 變量函數
顯示結果:執行func() 函數
變量的作用域
• 變量的作用域
1 、global 語句
該語句允許從腳本的任何位置訪問函數內部
定義的變量以及從函數內部訪問函數外部的
變量
變量的作用域
//$a = 23;
function foo()
{
global $a;
$a = 32;
echo $a;
}
$func = “foo”;
$func();
echo $a;
變量的作用域
2 、static 語句
靜態變量僅在局部函數中存在,當程序
離開該函數時,它值不會丟失
變量的作用域
function foo()
{
$a = 0;
echo $a;
$a ++;
}
foo(); //0
foo(); //0
foo(); //0
變量的作用域
function foo()
{
static $a = 0;
echo $a;
$a ++;
}
foo(); //0
foo(); // 1
foo(); // 2
日期和時間的處理
• 獲取日期和時間
date() 按指定格式返回系統的時間字符串
如:date(“d”) 返回月份中的第幾天
具體參數見P103
a – “am” 或是 “pm”
A – “AM” 或是 “PM”
d – 幾日,二位數字,若不足二位則前面補零; 如: “01” 至 “31”
D – 星期幾,三個英文字母; 如: “Fri”
F – 月份,英文全名; 如: “January”
h – 12 小時制的小時; 如: “01” 至 “12”
H – 24 小時制的小時; 如: “00” 至 “23”
g – 12 小時制的小時,不足二位不補零; 如: “1” 至 12″
G – 24 小時制的小時,不足二位不補零; 如: “0” 至 “23”
i – 分鐘; 如: “00” 至 “59”
j – 幾日,二位數字,若不足二位不補零; 如: “1” 至 “31”
l – 星期幾,英文全名; 如: “Friday”
m – 月份,二位數字,若不足二位則在前面補零; 如: “01” 至 “12”
n – 月份,二位數字,若不足二位則不補零; 如: “1” 至 “12”
M – 月份,三個英文字母; 如: “Jan”
s – 秒; 如: “00” 至 “59”
S – 字尾加英文序數,二個英文字母; 如: “th” ,”nd”
t – 指定月份的天數; 如: “28” 至 “31”
U – 總秒數
w – 數字型的星期幾,如: “0” ( 星期日) 至 “6” ( 星期六)
Y – 年,四位數字; 如: “1999”
y – 年,二位數字; 如: “99”
z – 一年中的第幾天; 如: “0” 至 “365”
《PHP正則表達式》
PHP 正則表達式
• 正則表達式
正則表達式是一種可以用於模式 匹配和替換的強有力的工具。
正則表達式可以讓用戶通過使用一系列的特殊字符構建匹配模
式,然後把匹配模式與數據文件、程序輸入以及WEB 頁面的表單輸
入等目標對象進行比較,根據比較對象中是否包含匹配模式,執
行相應的程序。
例: ^http 表示匹配以http 開頭的所有字符
[a-z] 匹配所有小寫字符
abc 匹配字符串abc
PHP 正則表達式
• 正則表達式的元字符
PHP 正則表達式
• 匹配正則表達式模式
preg_match(pattern,subject)
表示在subject字符串中搜索與pattern給出的正則表達式相匹配的
內容.該函數返回pattern所匹配的次數(0次或1次).0次表示沒有匹配
結果,函數返回一個false
例如:
$str = “php is a good language”;
preg_match(“/php/”,$str);
PHP 正則表達式
模式,是正規表達式最基本的元素,它們是一組描述字符串特
征的字符。模式可以很簡單,由普通的字符串組成,也可以非常
複雜,往往用特殊的字符表示一個範圍內的字符重複出現,或表
示上下文。我們先看一些正則表達式中的特殊字符。
• 字符: ^
意義:表示匹配的字符必須在最前邊。
例如:
preg_match(/^A/,”A good language”) // 匹配成功
• 字符: $
意義:與^ 類似,匹配最末的字符。
例如:
preg_match(/t$/,”eat”) // 匹配成功
PHP 正則表達式
• 字符*
意義:匹配* 前面的字符0 次或n 次。
例如: preg_match(“/do*g/”,”doog”) // 匹配成功
• 字符+
意義:匹配+ 號前面的字符1 次或n 次。等價於{ 1, } 。
例如:preg_match(“/do+g”,”dg”) // 不匹配
• 字符?
意義:匹配? 前面的字符0 次或1 次。
例如:preg_match(“/do?g/”,”dg”) // 匹配
PHP 正則表達式
• 字符.
意義:( 小數點) 匹配除換行符外的所有單個的字符。
例如:/.n/ 匹配“nay, an” 中的‘an’ ,但不匹配‘nay’ 。
• 字符(x)
意義:匹配‘x’ 並記錄匹配的值。
例如:/(foo)/ 匹配和記錄“foo bar.” 中的‘foo’ 。匹配子串能被結果數組中的素[1], …,[n] 返回
• 字符x│y
意義:匹配’x’ 或者’y’ 。
例如:/green│red/ 匹配”green apple” 中的’green’ 和”red apple.” 中的’red’ 。
PHP 正則表達式
• 字符{ n }
意義:這裡的n是一個正整數。匹配前面的n個字符。
例如:/a{ 2 }/不匹配”candy,”中的’a’,但匹配”caandy,” 中的所有’a’和”caaandy.”中前面的兩個’a’。
• 字符{ n, }
意義:這裡的n是一個正整數。匹配至少n個前面的字符。
例如:/a{ 2, }不匹配”candy”中的’a’,但匹配”caandy”中的所有’a’和”caaaaaaandy.”中的所有’a’
• 字符{ n,m }
意義:這裡的n和m都是正整數。匹配至少n個最多m個前面的字符。
例如:/a{ 1,3 }/不匹配”cndy”中的任何字符,但匹配 “candy,”中的’a’,”caandy,” 中的前面兩個 ‘a’和”caaaaaaandy”中前面的三個’a’,注意:即使”caaaaaaandy” 中有很多個’a’,但只匹配前面的三 個’a’即”aaa”。
PHP 正則表達式
• 字符[xyz]
意義:一字符列表,匹配列出中的任一字符。你可以通過連字符- 指出一個字符範圍。
例如:[abcd] 跟[a-d] 一樣。它們匹配”brisket” 中的’b’ 和”ache” 中的‘a’,’c’ 。
• 字符[^xyz]
意義:一字符補集,也就是說,它匹配除了列出的字符外的所有東西。 你可以使用連字符- 指出一 字符範圍。
例如:[^abc] 和[^a-c] 等價,它們最早匹配”brisket” 中的’r’ 和”chop.” 中的’h’ 。
• 字符 空格
意義:匹配一個空格( 不要與b 混淆)
PHP 正則表達式
• 預定義字符和字符類
• \d 數字
表示匹配數字0-9中任一字符,功能類似[0-9]
• \D 非數字
表示匹配一個非數字,功能類似[^0-9]
• \w 單詞字符
表示匹配一個單詞字符.功能類似[a-zA-Z0-9]
• \W 非單詞字符
表示匹配一個非單詞字符
PHP 正則表達式
• 字符\b
意義:匹配一個單詞的分界線,比如一個空格( 不要與空格混淆)
例如:/\bno/ 匹配”noonday” 中的’no’ ,/ly\b/ 匹配”possibly yesterday.” 中的’ly’ 。
PHP
Author: 陳慶平(Andych)
E-mail:ahut9923@126.com
PHP 字符串
• 格式化字符串
1 、trim() 刪除字符串開始和結束位置的空格
格式:trim(str)
2 、ltrim() 刪除字符串左邊的空格
格式:ltrim(str)
PHP 字符串
3 、 rtrim() 刪除字符串右邊的空格
格式:rtrim(str)
PHP 字符串
4 、strtolower() 字符串轉換為小寫
格式:strtolower(str)
5 、strtoupper() 字符串轉換為大寫
格式:strtoupper(str)
6 、ucfirst() 將函數的第一個字符轉換為大寫
格式:ucfirst(str)
PHP 字符串
7 、ucwords() 將每個單詞的首字母轉換為大寫
格式:ucwords(str)
• HTML 文本格式輸出
1 、nl2br() 將字符串中的\n 轉換成br
格式:nl2br(str)
str 中包含\n
PHP 字符串
2、htmlspecialchars() HTML字符原樣輸出
格式:htmlspecialchars(str,quote_style)
str:要轉換的字符
quote_style:轉換方式,主要對單引號和雙引
號進行轉換。值如下:
ENT_COMPAT 雙引號被轉換
ENT_QUOTES 單引號和雙引號都被轉換
ENT_NOQUOTES 任何一個引號都不被轉換
主要用在防止惡意腳本注入和數據庫數據的存儲
PHP 字符串
3 、strip_tags() 去除字符串中PHP 和HTML 代碼
格式:strip_tags(str,[char])
str :要去除的字符串
char :要保留字符串
如:strip_tags(“a href=‘’new/a”,a)
PHP 字符串
• 和數據庫相關
1 、addslashes() 按照一定規則將字符串進行轉義
格式:addslashes($str)
如:addslashes(“Hello ,’jack’”)
結果:Hello,\’jack\’
magic_quotes_gpc = On 自動對 get post cookie
的內容進行轉義
get_magic_quotes_gpc ()檢測是否打開
magic_quotes_gpc
PHP 字符串
2 、stripslashes() 去除字符串中的反斜杠
格式:stripslashes($str)
• 字符串的連接和分割
1 、explode() 按指定分割符將字符串分開
格式:explode(str,$str[,limit])
str :分割符
$str :要分割的字符串
limit :分割後數組長度(可選)
PHP 字符串
2 、implode() 將字符串按指定字符連接
成一個字符串
格式:implode(str,$arr)
str :連接符
$arr :字符串數組
注意:implode() 函數有個別名函數join
PHP 字符串
3、strtok() 從指定的字符串中去除指定的字符
格式:strtok($str,str)
注意:若想輸出所有內容,則以後函數中不需
要再加$str了。
如:$str = aa@a.com;bb@a.com;cc@a.com
$newstr = strtok($str,”;”)
while($newstr )
{
echo $newstr;
$newstr = strtok(”;”)
}
PHP 字符串
4 、substr() 在指定的字符串中取出規定的字符
串。
格式:substr($str,start[,length])
$str :指定的字符串
strat :起始位置
length :取出的字符串的長度。該參數可選
PHP 字符串
• 字符串比較
1 、strcmp() 字符串比較, 返回值為0 ,正數和負數
格式:strcmp($str1,$str2)
注意:比較的字符串是區分大小寫的
2 、strcasecmp() 功能同上,但不區分大小寫
PHP 字符串
3 、strnatcmp() 按自然排序比較字符串
格式:strnatcmp($str1,$str2)
如:strnatcmp(“4”,”14”) // 結果小於0
strcmp(“4”,”14”) // 結果大於0
4 、strnatcasecmp() 用法同上,只是不區分大
小寫
PHP 字符串
• 字符串查找
1 、strstr() 在指定的字符串中查找指定的字符
格式:strstr($str1,$str2)
如:$email = “ahut9923@126.com”;
$domain = strstr($email,”@”);
echo $domain; //@126.com
注意:如果含有多個,則從第一次出現的位置
開始輸出,若沒有則返回FALSE
PHP 字符串
2 、stristr() 功能同strstr ,只是不區分大小寫
3 、strrchr() 從最後一次搜索到的字符處返回
用處:取路徑中文件名
$path = “c:\\a\\b\\aa\\a.html”;
$filename = strrchr($path,”\\”);
echo $ filename;
PHP 字符串
• 定位字符串
1 、strpos() 在指定的字符串中查找子字符串第
一次出現的位置,找不到返回false
格式:strpos($str1,$str2)
如:echo strpos(“Hello”,”l”)
2 、strrpos() 功能同上,搜索子字符串最後一次
出現的位置
PHP 字符串
• 字符串替換
1、str_replace() 將新的字符串替換目標字符串
中指定的字符串
格式:str_replace($search,$replace,$subject)
如:
$subject = “Hell jack”;
echo str_replace(“Hell”,”Hello:”,$subject);
$search:要被替換的字符串
$replace:替換的字符串
$subject:目標字符串
PHP 字符串
2 、substr_replace() 查找和替換子字符串
格式:substr_replace($Str,$rep,$start[,length])
$str :原始字符串
$rep :替換後的新字符串
$start :起始位置
$length :替換的長度,該項可選
如:$subject = “Hell jack”;
echo substr_replace($subject,”Hell”,1);
// 結果:HHell
PHP函數
Author:陳慶平(Andych)
E-mail:ahut9923@126.com
PHP函數
• 函數
1、定義
獨立完成特定功能的代碼塊
2、特性
1)無須在引用函數之前定義
2)函數不能被重載。(即不能定義名稱相同的函數)
3)函數參數個數不能變化
4)PHP支持默認參數函數
PHP函數
• 內置函數
1、echo()函數
功能:輸出一行字符串
格式:echo “字符串”;
2、print()函數
功能:輸出一行字符串
格式:print ”字符串”;
PHP函數
3、include / require 函數
功能:包含並運行指定的文件 。
格式:include “a.php”;
說明:如果上面的函數用在條件語句中,一定要寫在{}內.
被包含的文件中可以使用return 語句。
If($a==$b)
{
include “a.php”;
}else{
include “b.php”;
}
PHP函數
• 自定義函數
1、函數聲明
格式:
function func_name($arg1,$arg2…$argn)
{
語句集;
return value;
}
根據函數是否包含參數:無參函數 和 有參函數
PHP函數
2、無參函數
例:定義函數,計算100以內偶數之和
function func_sum()
{
$sum = 0;
for($a=0;$a=100;$a++)
{
if($a%2==0){ $sum += $a;}
}
}
func_sum(); //調用函數
PHP函數
3、有參函數
1)按值傳遞
例:寫一函數,求任何兩個數的和
function func_name($a,$b)
{
$sum = $a + $b;
echo $sum;
}
func_name(32,34); //調用函數
PHP函數
2)按地址傳遞
例:求給定數乘以15以後的結果。
$myNum = 100;
function func_mul($a)
{
echo $a * 15;
}
func_mul($myNum); //函數調用,帶地址符號
echo $myNum;
低版本不默認支持地址傳遞,修改如下參數php.ini
allow_call_time_pass_reference = on
PHP函數
3)默認值函數
定義函數時,給參數賦值;在調用函數若不指定參數內容,
則自動調用參數默認值。
例:
function func_def($style=“默認值”)
{
echo $style;
}
func_def(); //不帶參數,輸出 “默認值”
func_def(“賦給參數”); //給參數,輸出 “賦給參數”
PHP函數
4)函數返回值
功能: 函數返回值
格式: return “值”
例:
function func_returnval()
{
return “return value”;
10 個經典PHP函數
1.
sys_getloadavg()
sys_getloadavt()可以獲得系
統負載情況。該函數返回一個包含三個元素的數組,每個元素分別代表系統再過去的1、5和15分鐘內的平均負載。
與其讓服務器因負
載過高而宕掉,不如在系統負載很高時主動die掉一個腳本,sys_getloadavg()就是用來幫你實現這個功能的。
不過很遺憾,該函數在windows下無效。
2.
pack()
Pack()
能將md5()返回的32位16進制字符串轉換為16位的二進制字符串,可以節省存儲空間。
3.
cal_days_in_month()
cal_days_in_month()能夠返回指定月份共有多少天。
4.
_()
WordPress開發者經常能見到這個函數,還有
_e()。這兩個函數功能相同,與gettext()函數結合使用,能實現網站的多語言化。具體可參見PHP手冊的相關部分介紹。
5.
get_browser()
在發送頁面前先看看用戶的瀏覽器都能做些什麼是
不是挺好?get_browser()能獲得用戶的瀏覽器類型,以及瀏覽器支持的功能,不過首先你需要一個php_browscap.ini文件,用來給
函數做參考文件。
要注意,該函數對瀏覽器功能的判斷是基於該類瀏覽器的一般特性的。例如,如果用戶關閉了瀏覽器對
JavaScript的支持,函數無法得知這一點。但是在判斷瀏覽器類型和OS平台方面,該函數還是很準確的。
6.
debug_print_backtrace()
這是一個調試用的函數,能幫助你發現代碼中的邏輯錯誤。要理
解這個函數,還是直接看個例子吧:
$a
=
0;
function
iterate()
{
global
$a;
if(
$a
10
)
recur();
echo
$a
.
“,
“;
}
function
recur()
{
global
$a;
$a++;
//
how
did
I
get
here?
echo
“\n\n\n”;
debug_print_backtrace();
if(
$a
10
)
iterate();
}
iterate();
#
OUTPUT:
#0
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#1
iterate()
called
at
[C:\htdocs\php_stuff\index.php:25]
#0
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#1
iterate()
called
at
[C:\htdocs\php_stuff\index.php:21]
#2
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#3
iterate()
called
at
[C:\htdocs\php_stuff\index.php:25]
#0
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#1
iterate()
called
at
[C:\htdocs\php_stuff\index.php:21]
#2
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#3
iterate()
called
at
[C:\htdocs\php_stuff\index.php:21]
#4
recur()
called
at
[C:\htdocs\php_stuff\index.php:8]
#5
iterate()
called
at
[C:\htdocs\php_stuff\index.php:25]
7.
metaphone()
這個函數返回單詞的metaphone值,相同讀音的單詞具有相同的metaphone值,也就是說這個函數可以幫你判斷兩個單詞的讀音是否
相同。不過對中文就無效了。。。
8.
natsort()
natsort()能將一個數組以自然排序法
進行排列,直接看個例子吧:
$items
=
array(
“100
apples”,
“5
apples”,
“110
apples”,
“55
apples”
);
//
normal
sorting:
sort($items);
print_r($items);
#
Outputs:
#
Array
#
(
#
[0]
=
100
apples
#
[1]
=
110
apples
#
[2]
=
5
apples
#
[3]
=
55
apples
#
)
natsort($items);
print_r($items);
#
Outputs:
#
Array
#
(
#
[2]
=
5
apples
#
[3]
=
55
apples
#
[0]
=
100
apples
#
[1]
=
110
apples
#
)
9.
levenshtein()
Levenshtein()
告訴你兩個單詞之間的“距離”。它告訴你如果想把一個單詞變成另一個單詞,需要插入、替換和刪除多少字母。
看個例子吧:
$dictionary
=
array(
“php”,
“javascript”,
“css”
);
$word
=
“japhp”;
$best_match
=
$dictionary[0];
$match_value
=
levenshtein($dictionary[0],
$word);
foreach($dictionary
as
$w)
{
$value
=
levenshtein($word,
$w);
if(
$value
$match_value
)
{
$best_match
=
$w;
$match_value
=
$value;
}
}
echo
“Did
you
mean
the
‘$best_match’
category?”;
10.
glob()
glob()會讓你覺得用
opendir(),
readdir()和closedir()來尋找文件非常蠢。
foreach
(glob(“*.php”)
as
$file)
echo
“$file\n”;
PHP常用函數有哪些
常用函數比較多
如:字符串處理函數,數組函數,日期函數,MySQL函數,文件系統函數,GD函數庫等
php常用函數
其實沒必要去到處搜羅所謂的“常用函數”,所謂常用是因人而異,某人經常用某函數,但並不代表你也一定會經常使用。php函數很多,常備php的幫助手冊是關鍵,遇到不熟的就查,查的次數多了,自然就變成“常用”了。
一般來說,字符串、數組、數據庫類的函數是相對來使用比較多的類別。
以下羅列了一下函數,僅供參考一閱。
============================================
//===============================時間日期===============================
//y返回年最後兩位,Y年四位數,m月份數字,M月份英文。d月份幾號數字,D星期幾英文
$date=date(“Y-m-d”);
//include,include_once.require,require_once
//require(“file.php”) 在PHP程序執行前就會先讀入require所指定引進的文件,如出現錯誤是致命的。
//include(“file.php”) 可以放在PHP程序的任何位置,PHP程序執行到時才讀入include指定引入的文件,如出現錯誤會提示
//===============================輸出打印===============================
//sprintf(“%d”,”3.2″) ;//只格式化,返回格式化後的字符串,不輸出。
//printf(“%d”,”3.2″) ;//即格式化,又輸出
//print(“3.2”) ;//只輸出
//echo “nihao”,”aa”;//可以輸出多個字符串
//print_r(array(“a”,”b”,”c”));//將數組的鍵值與元素依次顯示
//===============================常用字符串函數===============================
//獲取字符串長度,有多少個字符,空格也算
$str=” sdaf sd “;
$len=strlen($str);
//用第一個參數里的字符串,把後面數組裡的每個元素連接起來,返回一個字符串。
$str=implode(“-“,array(“a”,”b”,”c”));
//字符串分割方法,返回一個數組,用第一個參數里的字符分割後面的字符串,指定字符的前後和之間都截取,如果指定字符在開頭或結尾則返回的數組開頭或結尾的元素為空字符串
//沒有分割到字符串就返回給數組對應元素一個空值。最後一個限制返回數組長度,可不限制,則一直分割下去。
$array=explode(“a”,”asddad addsadassd dasdadfsdfasdaaa”,4);
//print_r($array);
//剔除字符串左邊開頭的空格,並返回
//如有第二個參數則是剔除左邊開頭的空格換成剔除第二個參數里的字符串
$str=ltrim(“a asd “,”a”);
//剔除字符串右邊開頭的空格
$str=rtrim(” asd “);
//把第一個字符串兩邊以第二個參數開頭的字符串剔除。如沒有第二個參數,默認剔除掉字符串兩邊開頭的空格
$str=trim(” sdsdfas “,”a”);
//從字符串第一個參數里的指定位置開始取多長(多少個)字符,字符串中第一個字符位置從0算。
//如果第二個參數為負則從字符串結尾倒數第幾個開始取多長的字符串。結尾最後一個字符算-1,截取方向總是從左到右
$str=substr(“abcdefgh”,0,4);
//將第三個參數的第一個參數字符串用參數二字符串替換
$str=str_replace(“a”,””,”abcabcAbca”);
//與str_replace用法同,只是不區分大小寫
//$str=str_ireplace(“a”,” “,”abcabcAbca”);
//返回括號里字符串的字符全部大寫的字符串
$str=strtoupper(“sdaf”);
//將括號里第一個字符串變成大寫後返回
$str=ucfirst(“asdf”);
//用echo等將括號里字符串打印在網頁上時原汁原味打印出括號里的字符串,包括標籤字符
$str=htmlentities(“br/”);
//返回第二個參數字符串在第一個字符串里出現的次數
$int=substr_count(“abcdeabcdeablkabd”,”ab”);
//返回第二個字符串在第一個字符串第一次出現的位置,第一個字符位置算0
$int=strpos(“asagaab”,”ab”);
//返回第二個字符串在第一個字符串最後一次出現的位置,第一個字符位置算0
$int=strrpos(“asagaabadfab”,”ab”);
//截取返回參數一中從左至右第一個出現的參數二到參數一最後一個字符的字符串
$str=strstr(“sdafsdgaababdsfgs”,”ab”);
//截取返回參數一中從左至右最後一個出現的參數二到參數一最後一個字符的字符串
$str=strrchr(“sdafsdgaababdsfgs”,”ab”);
//將參數二中每一個字符在參數一中相同字符前加”\”
$str=addcslashes(“abcdefghijklmn”,”akd”);
//將參數一的字符串填充到參數二指定的長度(單字符個數),參數三為指定填充的字符串,不寫默認空格
//參數四填充位置,0在參數一左側開頭填充,1右側開頭,2兩邊開頭同時。不寫默認在右側開頭填充
$str=str_pad(“abcdefgh”,10,”at”,0);
//依次比較兩字符串對應字符阿斯克碼值,第一對不一樣的,如果參數一里大於參數二里的返回1,反之返回-1,兩字符串完全一樣返回0
$int1=strcmp(“b”,”a”);
//返回第一個參數格式化後的數字格式,第二個參數為保留幾個小數,參數三為將小數點換成參數三,參數四為整數部分每三位用什麼字符分割
//後面三個參數都不寫,則默認去掉小數部分,整數每隔三位用逗號,分割。參數三,參數四必須同時存在
$str=number_format(1231233.1415,2,”d”,”a”);
//===============================常用數組方法===============================
$arr=array(“k0″=”a”,”k1″=”b”,”k2″=”c”);
//返回數組元素個數
$int=count($arr);
//判斷第二參數的數組元素中是否有第一個參數元素
$bool=in_array(“b”,$arr);
//返回括號中數組所有鍵值組成的新數組原數組不改變
$array=array_keys($arr);
//判斷第二個參數的數組中是否有第一個參數的鍵值,返回真假
$bool=array_key_exists(“k1”,$arr);
//返回原數組中所有元素值組成的新數組,鍵值從0開始自增,原數組不變
$array=array_values($arr);
//返回當前數組指針指向的鍵值
$key=key($arr);
//返回當前數組指針指向的元素值
$value=current($arr);
//返回當前數組指針指向元素的鍵值及元素值組成的數組,再將指針推向下一位,最後指針指向的是一個空元素返回空
//返回的數組中有四個固定鍵值對應的元素值分別是返回元素的鍵值及元素值,其中0,’key’鍵值都對應返回元素鍵值,1,’value’鍵值都對應返回的元素值
$array=each($arr);
//先將數組指針推向下一位,再返回指針移動後指向的元素值
$value=next($arr);
//將數組指針推向上一位,再返回指針移動後指向的元素值
$value=prev($arr);
//讓數組指針重置指向第一個元素並返回元素值
$value=reset($arr);
//將數組指針指向最後一位元素,並返回最後一位元素值
$value=end($arr);
//將第一個參數以後的參數作為元素追加入第一個參數數組的末尾,索引從最小的沒用過的數值開始計,返回之後的數組長度
$int=array_push($arr,”d”,”dfsd”);
//將第一個參數數組後面所有參數作為元素添加到第一個參數數組開頭處,鍵值以0從第一個元素處重新累加,原非數值的鍵值保持不變,原元素排序位置不變,返回之後的數組長度
$int=array_unshift($arr,”t1″,”t2″);
//返回從數組尾部提取最後一個元素值,並把最後一個元素從原數組中剔除
$value=array_pop($arr);
//array_pop相反,提取返回數組頭一個元素值,並把頭一個元素從原數組中剔除
$value=array_shift($arr);
//讓第一個參數數組達到第二個參數數值長度,將第三個參數作為元素添加到第一個參數數組的末尾,索引從最小沒用過數值開始計並返回,原數組不改變
$array1=array_pad($arr,10,”t10″);
//返回一個將原數組中多餘重複元素剔除掉的新數組,原數組不改變
$array=array_unique($array1);
//將原數組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數字0開始重計
$int=sort($array);
//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計
$int=rsort($array);
//返回將第一個參數數組中每一個元素值依次作為鍵值付給參數二數組的數組,兩數組長度必須一致,原數組不改變
$array=array_combine(array(“a”,”b”,”c”,”d”,”e”),$arr);
//將兩個數組合併並返回原數組不變
$array=array_merge($arr,array(“a”,”b”,”c”));
//在第一個參數數組中從第二個參數數值位置開始截取到第三個參數數值長度的數組鍵值+元素並返回,數組第一個元素位置從0計
$array=array_slice($arr,2,1);
//截取功能和array_slice()一樣,只是將截取部分在原數組中剔除
$array=array_splice($arr,2,1);
//將第一個參數作為第一個元素,每次自增參數三的值,自增後再作為一個元素存在數組中,直到值達到參數二的值存到數組中為止並返回這個數組
//參數一,參數二可以是數字,可以是單個字符,單字符就按阿斯柯碼值算,第三個參數不寫默認每次自增1
$array=range(3,9,2);
//將原數組元素與對應鍵值的對應關係重新隨機排列返回真假
$bool=shuffle($arr);
//計算數組中所有數值型元素值的和
$int=array_sum(array(“a”,2,”cssf”));
//把一個數組分割為新的數組塊,新數組每個元素都是一個數組,新數組每個元素內有幾個元素由參數二決定
//第三個參數決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認false不保留
$array=array_chunk(array(“a”=”a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”),2,true);
php的常用函數都有哪些要必須熟記的?
首先是數據庫方面的函數,例如:mysql_connect,mysql_create_db,mysql_fetch_array,mysql_select_db,mysql_query,數據庫的函數眾多,最好寫成一個類,可以參考discuz,phpcms等,如果是php5,可以使用PDO php的數組很強大,很多地方要用到最好把關於數組的循環,分割,刪除等記住,例如:is_array,implode,explode,array_keys,array_merge等 還有就是記牢一些安全性的函數例如:addslashes,htmlspecialchars等 其他還有字符處理:subtr,strlen,trim等 初學者要盡量使用專業的編輯器,例如:UE,editplus等,有利於拼寫和記憶函數,少用IDE工具,例如zendstudio等,這些雖然方便,但是不利於記憶函數,加入沒有了IDE的情況下,就成了盲人了,雖有思路,但寫不出代碼來。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/288869.html