PHP常用函數(shù)

PHP常用函數(shù)

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

//include,include_once.require,require_once
//require("file.php") 在PHP程序執(zhí)行前就會(huì)先讀入require所指定引進(jìn)的文件,如出現(xiàn)錯(cuò)誤是致命的。
//include("file.php") 可以放在PHP程序的任何位置,PHP程序執(zhí)行到時(shí)才讀入include指定引入的文件,如出現(xiàn)錯(cuò)誤會(huì)提示

//===============================輸出打印===============================
//sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不輸出。
//printf("%d","3.2") ;//即格式化,又輸出
//print("3.2") ;//只輸出
//echo "nihao","aa";//可以輸出多個(gè)字符串
//print_r(array("a","b","c"));//將數(shù)組的鍵值與元素依次顯示

//===============================常用字符串函數(shù)===============================

//獲取字符串長(zhǎng)度,有多少個(gè)字符,空格也算
$str=" sdaf sd ";
$len=strlen($str);

//用第一個(gè)參數(shù)里的字符串,把后面數(shù)組里的每個(gè)元素連接起來,返回一個(gè)字符串。
$str=implode("-",array("a","b","c"));

//字符串分割方法,返回一個(gè)數(shù)組,用第一個(gè)參數(shù)里的字符分割后面的字符串,指定字符的前后和之間都截取,如果指定字符在開頭或結(jié)尾則返回的數(shù)組開頭或結(jié)尾的元素為空字符串
//沒有分割到字符串就返回給數(shù)組對(duì)應(yīng)元素一個(gè)空值。最后一個(gè)數(shù)字限制返回?cái)?shù)組長(zhǎng)度(最后一次分割后余下的字符串不再分割,作為一個(gè)整體放在返回?cái)?shù)組的最后一個(gè)元素中),可不限制,則一直分割下去。
$array=explode("a","asddad addsadassd dasdadfsdfasdaaa",2);
//print_r($array);

//剔除字符串左邊開頭的空格,并返回
//如有第二個(gè)參數(shù)則是剔除左邊開頭的空格換成剔除第二個(gè)參數(shù)里的字符串
$str=ltrim("a asd ","a");

//剔除字符串右邊開頭的空格
$str=rtrim(" asd ");

//把第一個(gè)字符串兩邊以第二個(gè)參數(shù)開頭的字符串剔除。如沒有第二個(gè)參數(shù),默認(rèn)剔除掉字符串兩邊開頭的空格
$str=trim(" sdsdfas ","a");

//從字符串第一個(gè)參數(shù)里的指定位置開始取多長(zhǎng)(多少個(gè))字符,字符串中第一個(gè)字符位置從0算。
//如果第二個(gè)參數(shù)為負(fù)則從字符串結(jié)尾倒數(shù)第幾個(gè)開始取多長(zhǎng)的字符串。結(jié)尾最后一個(gè)字符算-1,截取方向總是從左到右
$str=substr("abcdefgh",0,4);


//將第三個(gè)參數(shù)的第一個(gè)參數(shù)字符串用參數(shù)二字符串替換
$str=str_replace("a","","abcabcAbca");
//與str_replace用法同,只是不區(qū)分大小寫
//$str=str_ireplace("a"," ","abcabcAbca");

//返回括號(hào)里字符串的字符全部大寫的字符串
$str=strtoupper("sdaf");

//將括號(hào)里第一個(gè)字符串變成大寫后返回
$str=ucfirst("asdf");

//用echo等將括號(hào)里字符串打印在網(wǎng)頁上時(shí)原汁原味打印出括號(hào)里的字符串,包括標(biāo)簽字符
$str=htmlentities("<br/>");

//返回第二個(gè)參數(shù)字符串在第一個(gè)字符串里出現(xiàn)的次數(shù)
$int=substr_count("abcdeabcdeablkabd","ab");

//返回第二個(gè)字符串在第一個(gè)字符串第一次出現(xiàn)的位置,第一個(gè)字符位置算0
$int=strpos("asagaab","ab");

//返回第二個(gè)字符串在第一個(gè)字符串最后一次出現(xiàn)的位置,第一個(gè)字符位置算0
$int=strrpos("asagaabadfab","ab");

//截取返回參數(shù)一中從左至右第一個(gè)出現(xiàn)的參數(shù)二到參數(shù)一最后一個(gè)字符的字符串
$str=strstr("sdafsdgaababdsfgs","ab");

//截取返回參數(shù)一中從左至右最后一個(gè)出現(xiàn)的參數(shù)二到參數(shù)一最后一個(gè)字符的字符串
$str=strrchr("sdafsdgaababdsfgs","ab");

//將參數(shù)二中每一個(gè)字符在參數(shù)一中相同字符前加"\"
$str=addcslashes("abcdefghijklmn","akd");

//將參數(shù)一的字符串填充到參數(shù)二指定的長(zhǎng)度(單字符個(gè)數(shù)),參數(shù)三為指定填充的字符串,不寫默認(rèn)空格
//參數(shù)四填充位置,0在參數(shù)一左側(cè)開頭填充,1右側(cè)開頭,2兩邊開頭同時(shí)。不寫默認(rèn)在右側(cè)開頭填充
$str=str_pad("abcdefgh",10,"at",0);

//依次比較兩字符串對(duì)應(yīng)字符阿斯克碼值,第一對(duì)不一樣的,如果參數(shù)一里大于參數(shù)二里的返回1,反之返回-1,兩字符串完全一樣返回0
$int1=strcmp("b","a");

//返回第一個(gè)參數(shù)格式化后的數(shù)字格式,第二個(gè)參數(shù)為保留幾個(gè)小數(shù),參數(shù)三為將小數(shù)點(diǎn)換成參數(shù)三,參數(shù)四為整數(shù)部分每三位用什么字符分割
//后面三個(gè)參數(shù)都不寫,則默認(rèn)去掉小數(shù)部分,整數(shù)每隔三位用逗號(hào),分割。參數(shù)三,參數(shù)四必須同時(shí)存在
$str=number_format(1231233.1415,2,"d","a");

//base64_encode 加密常用語圖片和微信 nickname 的編碼(因?yàn)閚ickname常有特殊字符做昵稱數(shù)據(jù)庫直接保存不了,需用base64_encode編碼后保存,使用時(shí)再用base64_decode解碼),返回的是字符串
$base64str = base64_encode("teststr");

//針對(duì) base64_encode 編碼后的字符串進(jìn)行解碼,返回的也是字符串
$str = base64_decode ($base64str);


//===============================常用數(shù)組方法===============================

$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");

//返回?cái)?shù)組元素個(gè)數(shù)
$int=count($arr);

//判斷第二參數(shù)的數(shù)組元素中是否有第一個(gè)參數(shù)元素
$bool=in_array("b",$arr);

//返回括號(hào)中數(shù)組所有鍵值組成的新數(shù)組原數(shù)組不改變
$array=array_keys($arr);

//判斷第二個(gè)參數(shù)的數(shù)組中是否有第一個(gè)參數(shù)的鍵值,返回真假
$bool=array_key_exists("k1",$arr);

//返回原數(shù)組中所有元素值組成的新數(shù)組,鍵值從0開始自增,原數(shù)組不變
$array=array_values($arr);

//返回當(dāng)前數(shù)組指針指向的鍵值
$key=key($arr);

//返回當(dāng)前數(shù)組指針指向的元素值
$value=current($arr);

//返回當(dāng)前數(shù)組指針指向元素的鍵值及元素值組成的數(shù)組,再將指針推向下一位,最后指針指向的是一個(gè)空元素返回空
//返回的數(shù)組中有四個(gè)固定鍵值對(duì)應(yīng)的元素值分別是返回元素的鍵值及元素值,其中0,'key'鍵值都對(duì)應(yīng)返回元素鍵值,1,'value'鍵值都對(duì)應(yīng)返回的元素值
$array=each($arr);

//先將數(shù)組指針推向下一位,再返回指針移動(dòng)后指向的元素值
$value=next($arr);

//將數(shù)組指針推向上一位,再返回指針移動(dòng)后指向的元素值
$value=prev($arr);

//讓數(shù)組指針重置指向第一個(gè)元素并返回元素值
$value=reset($arr);

//將數(shù)組指針指向最后一位元素,并返回最后一位元素值
$value=end($arr);

//將第一個(gè)參數(shù)以后的參數(shù)作為元素追加入第一個(gè)參數(shù)數(shù)組的末尾,索引從最小的沒用過的數(shù)值開始計(jì),返回之后的數(shù)組長(zhǎng)度
$int=array_push($arr,"d","dfsd");

//將第一個(gè)參數(shù)數(shù)組后面所有參數(shù)作為元素添加到第一個(gè)參數(shù)數(shù)組開頭處,鍵值以0從第一個(gè)元素處重新累加,原非數(shù)值的鍵值保持不變,原元素排序位置不變,返回之后的數(shù)組長(zhǎng)度
$int=array_unshift($arr,"t1","t2");

//返回從數(shù)組尾部提取最后一個(gè)元素值,并把最后一個(gè)元素從原數(shù)組中剔除
$value=array_pop($arr);

//array_pop相反,提取返回?cái)?shù)組頭一個(gè)元素值,并把頭一個(gè)元素從原數(shù)組中剔除
$value=array_shift($arr);

//讓第一個(gè)參數(shù)數(shù)組達(dá)到第二個(gè)參數(shù)數(shù)值長(zhǎng)度,將第三個(gè)參數(shù)作為元素添加到第一個(gè)參數(shù)數(shù)組的末尾,索引從最小沒用過數(shù)值開始計(jì)并返回,原數(shù)組不改變
$array1=array_pad($arr,10,"t10");

//返回一個(gè)將原數(shù)組中多余重復(fù)元素剔除掉的新數(shù)組,原數(shù)組不改變
$array=array_unique($array1);

//將原數(shù)組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數(shù)字0開始重計(jì)
$int=sort($array);

//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計(jì)
$int=rsort($array);

//返回將第一個(gè)參數(shù)數(shù)組中每一個(gè)元素值依次作為鍵值付給參數(shù)二數(shù)組的數(shù)組,兩數(shù)組長(zhǎng)度必須一致,原數(shù)組不改變
$array=array_combine(array("a","b","c","d","e"),$arr);

//將兩個(gè)數(shù)組合并并返回原數(shù)組不變
$array=array_merge($arr,array("a","b","c"));

//在第一個(gè)參數(shù)數(shù)組中從第二個(gè)參數(shù)數(shù)值位置開始截取到第三個(gè)參數(shù)數(shù)值長(zhǎng)度的數(shù)組鍵值+元素并返回,數(shù)組第一個(gè)元素位置從0計(jì)
$array=array_slice($arr,2,1);

//截取功能和array_slice()一樣,只是將截取部分在原數(shù)組中剔除
$array=array_splice($arr,2,1);

//將第一個(gè)參數(shù)作為第一個(gè)元素,每次自增參數(shù)三的值,自增后再作為一個(gè)元素存在數(shù)組中,直到值達(dá)到參數(shù)二的值存到數(shù)組中為止并返回這個(gè)數(shù)組
//參數(shù)一,參數(shù)二可以是數(shù)字,可以是單個(gè)字符,單字符就按阿斯柯碼值算,第三個(gè)參數(shù)不寫默認(rèn)每次自增1
$array=range(3,9,2);

//將原數(shù)組元素與對(duì)應(yīng)鍵值的對(duì)應(yīng)關(guān)系重新隨機(jī)排列返回真假
$bool=shuffle($arr);

//計(jì)算數(shù)組中所有數(shù)值型元素值的和
$int=array_sum(array("a",2,"cssf"));


//把一個(gè)數(shù)組分割為新的數(shù)組塊,新數(shù)組每個(gè)元素都是一個(gè)數(shù)組,新數(shù)組每個(gè)元素內(nèi)有幾個(gè)元素由參數(shù)二決定
//第三個(gè)參數(shù)決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認(rèn)false不保留
$array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);


//json_encode()將數(shù)組轉(zhuǎn)換成JSON格式字符串返回
$arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4'));
echo $encode_str = json_encode($arr);

//json_decode()將JSON格式字符串轉(zhuǎn)換成對(duì)象或數(shù)組返回,具體返回類型由第二參數(shù)決定,第二參數(shù)默認(rèn)值 false,JSON格式字符串中鍵與值需要引號(hào)括起來時(shí)必須用雙引號(hào)
//如果返回類型為對(duì)象,第一次強(qiáng)制轉(zhuǎn)換后的數(shù)組中某鍵值對(duì)應(yīng)的元素還是數(shù)組,則在使用該鍵值對(duì)應(yīng)的數(shù)組前依然要對(duì)該數(shù)組進(jìn)行強(qiáng)制轉(zhuǎn)換。JSON多維數(shù)組以此類推
$decode_arr = (array)json_decode($encode_str);
var_dump($decode_arr);
//或者不用強(qiáng)制轉(zhuǎn)換,使用 對(duì)象->屬性 的格式來訪問
$decode_arr = json_decode($encode_str);
var_dump($decode_arr->k1);
//如果加第二個(gè)參數(shù)為 true 則自動(dòng)后返回?cái)?shù)組類型,不加第二參數(shù)默認(rèn)為false
$decode_arr = json_decode($encode_str, true);
var_dump($decode_arr);


//與json_encode()類似,將傳遞的參數(shù)以描述的格式序列化,但編碼后的字符串不如json_encode()編碼后的易讀
$str = serialize($arr);
var_dump($str);

//與json_decode()功能類似,將serialize()格式化后的字符串轉(zhuǎn)換回格式化前的變量,并且不用傳第二參數(shù)就原模原樣轉(zhuǎn)換回去
$arr = unserialize($str);
var_dump($arr);
?>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解...
    上街買菜丶迷倒老太閱讀 1,487評(píng)論 0 20
  • 總結(jié)了一些開發(fā)中常用的函數(shù): usleep() //函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() //函數(shù)從二進(jìn)制...
    ADL2022閱讀 541評(píng)論 0 3
  • parse_str() 函數(shù)[https://www.runoob.com/php/func-string-par...
    _fhs閱讀 111評(píng)論 0 0
  • 字符串操作 查找字符串出現(xiàn)位置$str = strpos("YouLovePhp!","Php");# 輸出7 替...
    陳文瑜閱讀 146評(píng)論 1 0
  • 時(shí)間日期 y 返回年最后兩位, Y 年四位數(shù), m 月份數(shù)字, M 月份英文。 d 月份幾號(hào)數(shù)字, D 星期幾 英...
    菲H閱讀 244評(píng)論 0 0

友情鏈接更多精彩內(nèi)容