PHP常用的系統(tǒng)內(nèi)置函數(shù)

一欺矫、時間日期函數(shù)

(1)date() 格式化一個本地時間/日期

string date ( string $format [, int $timestamp ] )

返回將整數(shù) timestamp
按照給定的格式字串而產(chǎn)生的字符串。如果沒有給出時間戳則使用本地當前時間庆尘。換句話說谊惭,timestamp是可選的朝墩,默認值為time()
示例:

<?php
date_default_timezone_set('UTC');
echo date("Y-m-d H:i:s",time()),"\n";
echo date("Y-m-d H:i:s",time()-3600*24),"\n";
echo date("Y-m-d H:i:s",strtotime("-1 day")),"\n";
echo date("Y-m-d H:i:s",strtotime('1991-06-07 19:44:22')),"\n";
echo date("Y-m-d H:i:s",strtotime('1991-06-07 19:44:22')+3600*24),"\n";

運行結(jié)果:

[root@chen function]# php demo3.php
2017-09-29 07:18:27
2017-09-28 07:18:27
2017-09-28 07:18:27
1991-06-07 19:44:22
1991-06-08 19:44:22 

(2)strtotime()
將任何字符串的日期時間描述解析為 Unix 時間戳
int strtotime ( string $time [, int $now = time() ] )
示例:

<?php
echo strtotime('now');//1506669818

(3)mktime()
取得一個日期的 Unix 時間戳
(4)time()

int time ( void )

返回當前的 Unix 時間戳
(5)date_default_timezone_set()
設(shè)定用于一個腳本中所有日期時間函數(shù)的默認時區(qū)
示例:

date_default_timezone_set('UTC');

2、ip處理函數(shù)

(1)ip2long
(2)long2ip

3墩瞳、打印函數(shù)

print(),print_r(),printf(),echo,sprintf(),var_dump()

(1)print 和echo都是表達式語句驼壶,但print只能有一個參數(shù),echo可以打印多個參數(shù)

<?php
$name = "chenzhitao";
$age = 26;
print($name);
print($age);
//print($age,$name)//error
//print $name,$age;
echo $name,$age;
//echo ($name,$age);//error

(2)printf()會格式化 輸出喉酌,sprintf()不會打印热凹,只會返回一個格式化字符串

<?php
$name = "chenzhitao";
$age = 26;
/*
print($name);
print($age);
//print($age,$name)//error
//print $name,$age;
echo $name,$age;
*/
printf("%s:%d\n",$name,$age);
$info =sprintf("%s:%d\n",$name,$age);
print $info;

運行結(jié)果:

[root@chen function]# php demo5.php
chenzhitao:26
chenzhitao:26

(3)print print_r() var_dump()

$a = array(1,2,3,4);
print $a;//只會輸出類型
print_r($a);//格式化數(shù)組打印
var_dump($a);

運行結(jié)果:

ArrayArray
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
array(4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
}

4、序列化函數(shù)和反序列化函數(shù)

(1)serialize
產(chǎn)生一個可存儲的值的表示
serialize() 返回字符串瞭吃,此字符串包含了表示 value
的字節(jié)流碌嘀,可以存儲于任何地方。
這有利于存儲或傳遞 PHP 的值歪架,同時不丟失其類型和結(jié)構(gòu)股冗。
想要將已序列化的字符串變回 PHP 的值,可使用unserialize serialize() 可處理除了resource 之外的任何類型和蚪。甚至可以 serialize() 那些包含了指向其自身引用的數(shù)組止状。你正 serialize() 的數(shù)組對象中的引用也將被存儲。
當序列化對象時攒霹,PHP 將試圖在序列動作之前調(diào)用該對象的成員函數(shù) __sleep()怯疤。這樣就允許對象在被序列化之前做任何清除操作。類似的催束,當使用unserialize() 恢復(fù)對象時集峦, 將調(diào)用 __wakeup() 成員函數(shù)。
(2)unserialize()
示例:

<?php
//聲明一個類
class dog {

    var $name;
    var $age;
    var $owner;

    function dog($in_name="unnamed",$in_age="0",$in_owner="unknown") {
        $this->name = $in_name;
        $this->age = $in_age;
        $this->owner = $in_owner;
    }

    function getage() {
        return ($this->age * 365);
    }
    
    function getowner() {
        return ($this->owner);
    }
    
    function getname() {
        return ($this->name);
    }
}
//實例化這個類
$ourfirstdog = new dog("Rover",12,"Lisa and Graham");
//用serialize函數(shù)將這個實例轉(zhuǎn)化為一個序列化的字符串
$dogdisc = serialize($ourfirstdog);
print $dogdisc; //$ourfirstdog 已經(jīng)序列化為字符串 O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}

print '<BR>';

/* 
-----------------------------------------------------------------------------------------
    在這里你可以將字符串 $dogdisc 存儲到任何地方如 session,cookie,數(shù)據(jù)庫,php文件 
-----------------------------------------------------------------------------------------
*/

//我們在此注銷這個類
unset($ourfirstdog);

/*    還原操作   */

/* 
-----------------------------------------------------------------------------------------
    在這里將字符串 $dogdisc 從你存儲的地方讀出來如 session,cookie,數(shù)據(jù)庫,php文件 
-----------------------------------------------------------------------------------------
*/


//我們在這里用 unserialize() 還原已經(jīng)序列化的對象
$pet = unserialize($dogdisc); //此時的 $pet 已經(jīng)是前面的 $ourfirstdog 對象了
//獲得年齡和名字屬性
$old = $pet->getage();
$name = $pet->getname();
//這個類此時無需實例化可以繼續(xù)使用,而且屬性和值都是保持在序列化之前的狀態(tài)
print "Our first dog is called $name and is $old days old<br>";
print '<BR>';
?>

運行結(jié)果:

O:3:"dog":3:{s:4:"name";s:5:"Rover";s:3:"age";i:12;s:5:"owner";s:15:"Lisa and Graham";}
Our first dog is called Rover and is 4380 days old<br>

5抠刺、字符串處理函數(shù)

(1)impolde()
將一個一維數(shù)組的值轉(zhuǎn)化為字符串

string implode ( string $glue , array $pieces )

示例:

<?php
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

// Empty string when using an empty array:
var_dump(implode('hello', array())); // string(0) ""

(2)explode()
使用一個字符串分割另一個字符串

array explode ( string $delimiter , string $string [, int $limit ] )

此函數(shù)返回由字符串組成的數(shù)組塔淤,每個元素都是 string 的一個子串,它們被字符串 delimiter 作為邊界點分割出來速妖。

<?php
// 示例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

(3)join()
別名 implode
(4)strrev()
反轉(zhuǎn)字符串

string strrev ( string $string )

(5)trim() ltrim() rtrim()
去除字符串首尾處的空白字符(或者其他字符)
(6)strstr()
查找字符串的首次出現(xiàn),返回值是字符串

<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com

$user = strstr($email, '@', true); // 從 PHP 5.3.0 起
echo $user; // 打印 name
?>

6高蜂、數(shù)組的處理函數(shù)

(1)array_keys()
返回數(shù)組中部分的或所有的鍵名
(2)array_values()
返回數(shù)組中所有的值
(3)array_key_exists
檢查數(shù)組里是否有指定的鍵名或索引

bool array_key_exists ( mixed $key, array $array)

(4)array_rand()
從數(shù)組中隨機取出一個或多個單元
(5)sort()
排序
(6)array_diff()
計算數(shù)組的差集

array array_diff ( array $array1 , array $array2 [, array $... ] )

對比 array1 和其他一個或者多個數(shù)字,返回在 array1 中但是不在其他 array 里的值罕容。

<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>

運行結(jié)果:

Array
(
    [1] => blue
)

(7)array_intersect
計算數(shù)組的交集
array array_intersect ( array $array1 , array $array2 [, array $... ] )
array_intersect() 返回一個數(shù)組备恤,該數(shù)組包含了所有在 array1 中也同時出現(xiàn)在所有其它參數(shù)數(shù)組中的值稿饰。注意鍵名保留不變。

<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>

運行結(jié)果:

Array
(
    [a] => green
    [0] => red
)

(8)array_merge()
合并一個或多個數(shù)組
array array_merge ( array $array1 [, array $... ] )
array_merge() 將一個或多個數(shù)組的單元合并起來露泊,一個數(shù)組中的值附加在前一個數(shù)組的后面喉镰。返回作為結(jié)果的數(shù)組。

如果輸入的數(shù)組中有相同的字符串鍵名惭笑,則該鍵名后面的值將覆蓋前一個值梧喷。然而,如果數(shù)組包含數(shù)字鍵名脖咐,后面的值將不會覆蓋原來的值铺敌,而是附加到后面。

如果只給了一個數(shù)組并且該數(shù)組是數(shù)字索引的屁擅,則鍵名會以連續(xù)方式重新索引偿凭。
(9)array_shift()
將數(shù)組開頭的單元移出數(shù)組

mixed array_shift ( array &$array)

array_shift() 將 array 的第一個單元移出并作為結(jié)果返回,將 array 的長度減一并將所有其它單元向前移動一位派歌。所有的數(shù)字鍵名將改為從零開始計數(shù)弯囊,文字鍵名將不變。

(10)array_unshift()
在數(shù)組開頭插入一個或多個單元

int array_unshift ( array &$array , mixed $value1[, mixed$...] )

array_unshift() 將傳入的單元插入到 array 數(shù)組的開頭胶果。注意單元是作為整體被插入的匾嘱,因此傳入單元將保持同樣的順序。所有的數(shù)值鍵名將修改為從零開始重新計數(shù)早抠,所有的文字鍵名保持不變霎烙。

<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
?>

運行結(jié)果:

Array
(
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
)

(11)array_pop()
(12)array_push()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蕊连,隨后出現(xiàn)的幾起案子悬垃,更是在濱河造成了極大的恐慌,老刑警劉巖甘苍,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尝蠕,死亡現(xiàn)場離奇詭異,居然都是意外死亡载庭,警方通過查閱死者的電腦和手機看彼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來囚聚,“玉大人靖榕,你說我怎么就攤上這事∶一樱” “怎么了序矩?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵鸯绿,是天一觀的道長跋破。 經(jīng)常有香客問我簸淀,道長,這世上最難降的妖魔是什么毒返? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任租幕,我火速辦了婚禮,結(jié)果婚禮上拧簸,老公的妹妹穿的比我還像新娘劲绪。我一直安慰自己,他們只是感情好盆赤,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布贾富。 她就那樣靜靜地躺著,像睡著了一般牺六。 火紅的嫁衣襯著肌膚如雪颤枪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天淑际,我揣著相機與錄音畏纲,去河邊找鬼。 笑死春缕,一個胖子當著我的面吹牛盗胀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锄贼,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼票灰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宅荤?” 一聲冷哼從身側(cè)響起米间,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎膘侮,沒想到半個月后屈糊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡琼了,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年逻锐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雕薪。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡昧诱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出所袁,到底是詐尸還是另有隱情盏档,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布燥爷,位于F島的核電站蜈亩,受9級特大地震影響懦窘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稚配,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一畅涂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧道川,春花似錦午衰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至尊流,卻和暖如春扇单,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奠旺。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工蜘澜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人响疚。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓鄙信,卻偏偏與公主長得像,于是被迫代替她去往敵國和親忿晕。 傳聞我的和親對象是個殘疾皇子装诡,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容