本文目錄一覽:
- 1、php函數大全
- 2、什麼是PHP的函數?
- 3、php fopen函數的模式問題
- 4、寫幾個簡單php函數
- 5、php常用函數
php函數大全
php函數大全:
1
2 II.
3 III.
4 IV.
5 V. Bzip2 Compression Functions
6 VI.
7 VII. CCVS API Functions [deprecated]
8 VIII. Windows 的 COM 支持函數庫
9 IX
10 X.
11 XI. Crack Functions
12 XII. CURL, Client URL Library Functions
13 XIII. Cybercash Payment Functions
14 XIV. Cyrus IMAP administration Functions
15 XV. Character Type Functions
16 XVI. database (dbm-style) Abstraction Layer Functions
17 XVII. 時間日期函數庫
18 XVIII. dBase Functions
19 XIX. DBM Functions [deprecated]
20 XX. dbx Functions
常用函數:
pack()
Pack()能將md5()返回的32位16進制字符串轉換為16位的二進制字符串,可以節省存儲空間。
sys_getloadavg()
sys_getloadavt()可以獲得系統負載情況。該函數返回一個包含三個元素的數組,每個元素分別代表系統再過去的1、5和15分鐘內的平均負載。
與其讓服務器因負載過高而宕掉,不如在系統負載很高時主動die掉一個腳本,sys_getloadavg()就是用來幫你實現這個功能的。不過很遺憾,該函數在windows下無效。
get_browser()
get_browser()能獲得用戶的瀏覽器類型,以及瀏覽器支持的功能,不過首先你需要一個php_browscap.ini文件,用來給函數做參考文件。
要注意,該函數對瀏覽器功能的判斷是基於該類瀏覽器的一般特性的。例如,如果用戶關閉了瀏覽器對JavaScript的支持,函數無法得知這一點。但是在判斷瀏覽器類型和OS平台方面,該函數還是很準確的。
_()
Wordcodess開發者經常能見到這個函數,還有_e()。這兩個函數功能相同,與gettext()函數結合使用,能實現網站的多語言化。具體可參見PHP手冊的相關部分介紹。
cal_days_in_month()
cal_days_in_month()能夠返回指定月份共有多少天。
debug_print_backtrace()
這是一個調試用的函數,能幫助你發現代碼中的邏輯錯誤。要理解這個函數,還是直接看個例子吧:
metaphone()
這個函數返回單詞的metaphone值,相同讀音的單詞具有相同的metaphone值,也就是說這個函數可以幫你判斷兩個單詞的讀音是否相同。不過對中文就無效了。。。
natsort()
natsort()能將一個數組以自然排序法進行排列
levenshtein()
Levenshtein()告訴你兩個單詞之間的“距離”。它告訴你如果想把一個單詞變成另一個單詞,需要插入、替換和刪除多少字母。
glob()
glob()會讓你覺得用opendir(), readdir()和closedir()來尋找文件非常蠢。
什麼是PHP的函數?
PHP 用戶定義函數
除了內建的 PHP 函數,我們可以創建我們自己的函數。
函數是可以在程序中重複使用的語句塊。
頁面加載時函數不會立即執行。
函數只有在被調用時才會執行。
在 PHP 創建用戶定義函數
用戶定義的函數聲明以關單 “function” 開頭:
語法
function functionName() {
被執行的代碼;
}
注釋:函數名能夠以字母或下劃線開頭(而非數字)。
注釋:函數名對大小寫不敏感。
提示:函數名應該能夠反映函數所執行的任務。
在下面的例子中,我們創建名為 “writeMsg()” 的函數。打開的花括號({)指示函數代碼的開始,而關閉的花括號(})指示函數的結束。此函數輸出 “Hello world!”。如需調用該函數,只要使用函數名即可:
?php
function writeMsg() {
echo “Hello world!”;
}
writeMsg(); // 調用函數
?
PHP 函數參數
可以通過參數向函數傳遞信息。參數類似變量。
參數被定義在函數名之後,括號內部。您可以添加任意多參數,只要用逗號隔開即可。
下面的例子中的函數有一個參數($fname)。當調用 familyName() 函數時,我們同時要傳遞一個名字(例如 Bill),這樣會輸出不同的名字,但是姓氏相同:
?php
function familyName($fname) {
echo “$fname Zhang.br”;
}
familyName(“Li”);
familyName(“Hong”);
familyName(“Tao”);
familyName(“Xiao Mei”);
familyName(“Jian”);
?
下面的例子中的函數有兩個參數($fname 和 $year):
?php
function familyName($fname,$year) {
echo “$fname Zhang. Born in $year br”;
}
familyName(“Li”,”1975″);
familyName(“Hong”,”1978″);
familyName(“Tao”,”1983″);
?
PHP 默認參數值
下面的例子展示了如何使用默認參數。如果我們調用沒有參數的 setHeight() 函數,它的參數會取默認值:
?php
function setHeight($minheight=50) {
echo “The height is : $minheight br”;
}
setHeight(350);
setHeight(); // 將使用默認值 50
setHeight(135);
setHeight(80);
?
PHP 函數 – 返回值
如需使函數返回值,請使用 return 語句:
?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo “5 + 10 = ” . sum(5,10) . “br”;
echo “7 + 13 = ” . sum(7,13) . “br”;
echo “2 + 4 = ” . sum(2,4);
?
php fopen函數的模式問題
php的fopen模式‘a’代表append, 追加模式。
嘗試在文件末尾追加數據。文件不存在時會創建新文件
寫幾個簡單php函數
?php
function pai( $NumStr ) {
$Arr = preg_split(‘/[\,,]+/is’, $NumStr);
$Ou = $Ji = array();
foreach( $Arr as $val ) {
$val % 2 == 0 ? $Ou[] = $val : $Ji[] = $val;
}
arsort($Ji);
asort($Ou);
//print_r( $Ji );
echo join(‘,’, $Ji ), ‘,’, join(‘,’, $Ou );
}
function ca( $NumStr ) {
$Arr = preg_split(‘/[\,,]+/is’, $NumStr);
echo max( $Arr ) – min( $Arr );
}
function length( $Num ) {
echo strlen( $Num );
}
pai(‘3,6,5,71,75,34,45,23,16’);
echo ‘br/’;
ca(‘15,78,65,10,30’);
echo ‘br/’;
length(4578445);
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);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/197095.html