1. 程式人生 > >【PHP】php常用函式一覽

【PHP】php常用函式一覽

<?php
//===============================時間日期===============================
//y返回年最後兩位,Y年四位數,m月份數字,M月份英文。d月份幾號數字,D星期幾英文
$date=date("Y-m-d");
$date=date("Y-m-d H:i:s");//帶時分秒

//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);


//json_encode()將陣列轉換成JSON格式字串返回
$arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4'));
echo $encode_str = json_encode($arr);

//json_decode()將JSON格式字串轉換成能強制轉換成陣列的物件返回,JSON格式字串中鍵與值需要引號括起來時必須用雙引號
$decode_arr = (array)json_decode($encode_str);
var_dump($decode_arr);
?>