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

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

date(),strtotime(),mktime(),time(),microtime(), date_default_timezone_set("Asia/Shanghai");
  • date — 格式化一個(gè)本地時(shí)間/日期
    string date ( string $format [, int $timestamp ] )
    返回將整數(shù) timestamp
    按照給定的格式字串而產(chǎn)生的字符串沃琅。如果沒(méi)有給出時(shí)間戳則使用本地當(dāng)前時(shí)間艇搀。換句話說(shuō)橄碾,timestamp
    是可選的年局,默認(rèn)值為 time()逻谦。
  • time() 返回當(dāng)前的 Unix 時(shí)間戳
    int time ( void )
date_default_timezone_set("Asia/Shanghai");
echo $showtime=date("Y-m-d H:i:s",time());
  • strtotime()— 將任何字符串的日期時(shí)間描述解析為 Unix 時(shí)間戳
function diffBetweenTwoDays ($day1, $day2)
{
  $second1 = strtotime($day1);
  $second2 = strtotime($day2);
    
  if ($second1 < $second2) {
    $tmp = $second2;
    $second2 = $second1;
    $second1 = $tmp;
  }
  return ($second1 - $second2) / 86400;
}
$day1 = "2013-07-27";
$day2 = "2013-08-04";
$diff = diffBetweenTwoDays($day1, $day2);
echo $diff."\n";


ip處理函數(shù)

  • ip2long — 將一個(gè)IPV4的字符串互聯(lián)網(wǎng)協(xié)議轉(zhuǎn)換成數(shù)字格式
    int ip2long ( string $ip_address )
  • long2ip — 將長(zhǎng)整型轉(zhuǎn)化為字符串形式帶點(diǎn)的互聯(lián)網(wǎng)標(biāo)準(zhǔn)格式地址(IPV4)

打印處理函數(shù)

print(),print_r(),echo,printf(),sprintf(),var_dump(),var_export()
  • print 只能輸出一個(gè)變量
    echo 可以多個(gè)變量,建議用echo
$url = "https:%s";
$prefix = "http";
$mergeurl = sprintf($url,"www.zhitaochan.cn");
// print $mergeurl,$prefix;//語(yǔ)法錯(cuò)誤
echo $mergeurl,$prefix;//可以輸出


  • var_export()
    var_export — 輸出或返回一個(gè)變量的字符串表示生均,返回的變量是復(fù)合php語(yǔ)法的可以直接使用 听想,而var_dump()則不能。

序列化和反序列化

  • serialize
    產(chǎn)生一個(gè)可存儲(chǔ)的值的表示
  • unserialize
    比較serialize與json_encode
<?php
$target = array (    
   'battle_id'=> 257    
   ,'user_id'=> 41248    
   ,'user_id2'=> 23989    
   ,'player'=> 41248    
   ,'formation'=> Array    
        (    
           '41248'=> 1    
           ,'23989'=> 2    
        )    
    
   ,'result'=> 1    
   ,'battle_type'=> 1    
   ,'speed'=> Array    
        (    
           '41248'=> 0    
           ,'23989'=> 0    
        )    
);
$json = json_encode($target);
$seri = serialize($target);
print($json);
print("\n");
print($seri);

2.對(duì)象的解析

<?php
//聲明一個(gè)類
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);
    }
}
//實(shí)例化這個(gè)類
$ourfirstdog = new dog("Rover",12,"Lisa and Graham");
//用serialize函數(shù)將這個(gè)實(shí)例轉(zhuǎn)化為一個(gè)序列化的字符串
$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>';

$json = json_encode($ourfirstdog);
print $json;//{"name":"Rover","age":12,"owner":"Lisa and Graham"}

字符串處理函數(shù)

implode(),explode(),join(),strrev(),trim(),ltrim(),rtrim(),strstr(),number_formate(),
  • implode()
    implode — 將一個(gè)一維數(shù)組的值轉(zhuǎn)化為字符串
    string implode ( string $glue , array $pieces )
    string implode ( array $pieces )
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
  • explode()

explode — 使用一個(gè)字符串分割另一個(gè)字符串

array explode ( string $delimiter , string $string [, int $limit ] )
此函數(shù)返回由字符串組成的數(shù)組马胧,每個(gè)元素都是 string 的一個(gè)子串汉买,它們被字符串 delimiter 作為邊界點(diǎn)分割出來(lái)。

<?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; // *

?>
  • join()
    別名 implode

$array = array('lastname', 'email', 'phone');
$comma_separated = join(",", $array);
print $comma_separated;
  • strrev()
    反轉(zhuǎn)字符串
    string strrev ( string $string )

  • trim()
    去除字符串首尾處的空白字符(或者其他字符)

  • ltrim()
    刪除字符串開(kāi)頭的空白字符(或其他字符)

  • rtrim()
    刪除字符串末端的空白字符(或者其他字符)

  • 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
?>
  • number_format
    以千位分隔符方式格式化一個(gè)數(shù)字

數(shù)組的處理函數(shù)

array_keys(),array_values(),array_diff(),array_intersect(),array_merge(),array_shift(),array_unshift(),array_pop(),array_push(),sort()
  • array_keys
    返回?cái)?shù)組中部分的或所有的鍵名

  • array_values()
    array_values — Return all the values of an array

  • array_diff()
    array與一個(gè)或多個(gè)其他數(shù)組進(jìn)行 比較佩脊,并返回其中array1不存在于其他數(shù)組中的值蛙粘。

  • array_intersect()
    計(jì)算數(shù)組的交集
    array array_intersect ( array $array1 , array $array2 [, array $... ] )

array_intersect() 返回一個(gè)數(shù)組,該數(shù)組包含了所有在 array1 中也同時(shí)出現(xiàn)在所有其它參數(shù)數(shù)組中的值威彰。注意鍵名保留不變出牧。

  • array_merge
    合并一個(gè)或多個(gè)數(shù)組
    array array_merge ( array $array1 [, array $... ] )
    array_merge() 將一個(gè)或多個(gè)數(shù)組的單元合并起來(lái),一個(gè)數(shù)組中的值附加在前一個(gè)數(shù)組的后面歇盼。返回作為結(jié)果的數(shù)組舔痕。

如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個(gè)值豹缀。然而伯复,如果數(shù)組包含數(shù)字鍵名,后面的值將不會(huì)覆蓋原來(lái)的值邢笙,而是附加到后面啸如。

如果只給了一個(gè)數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會(huì)以連續(xù)方式重新索引

  • array_shift()
    將數(shù)組開(kāi)頭的單元移出數(shù)組
    array_shift() 將 array 的第一個(gè)單元移出并作為結(jié)果返回氮惯,將 array 的長(zhǎng)度減一并將所有其它單元向前移動(dòng)一位组底。所有的數(shù)字鍵名將改為從零開(kāi)始計(jì)數(shù),文字鍵名將不變筐骇。
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_shift($stack);
print_r($stack);
?>

輸出:

Array
(
    [0] => banana
    [1] => apple
    [2] => raspberry
)
  • array_unshift()
    在數(shù)組開(kāi)頭插入一個(gè)或多個(gè)單元
    array_unshift() 將傳入的單元插入到 array 數(shù)組的開(kāi)頭。注意單元是作為整體被插入的江滨,因此傳入單元將保持同樣的順序铛纬。所有的數(shù)值鍵名將修改為從零開(kāi)始重新計(jì)數(shù),所有的文字鍵名保持不變唬滑。
<?php
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");
print_r($queue);
?>

輸出:

Array
(
    [0] => apple
    [1] => raspberry
    [2] => orange
    [3] => banana
)
  • array_pop
    彈出數(shù)組最后一個(gè)單元(出棧)
<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>

輸出:

Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)
  • array_push()
    將一個(gè)或多個(gè)單元壓入數(shù)組的末尾(入棧)
    array_push() 將 array 當(dāng)成一個(gè)棧告唆,并將傳入的變量壓入 array 的末尾。array 的長(zhǎng)度將根據(jù)入棧變量的數(shù)目增加晶密。

  • sort
    對(duì)數(shù)組排序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末擒悬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子稻艰,更是在濱河造成了極大的恐慌懂牧,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異僧凤,居然都是意外死亡畜侦,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門躯保,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)旋膳,“玉大人,你說(shuō)我怎么就攤上這事途事⊙榘茫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵尸变,是天一觀的道長(zhǎng)义图。 經(jīng)常有香客問(wèn)我,道長(zhǎng)振惰,這世上最難降的妖魔是什么歌溉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮骑晶,結(jié)果婚禮上痛垛,老公的妹妹穿的比我還像新娘。我一直安慰自己桶蛔,他們只是感情好匙头,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著仔雷,像睡著了一般蹂析。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碟婆,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天电抚,我揣著相機(jī)與錄音,去河邊找鬼竖共。 笑死蝙叛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的公给。 我是一名探鬼主播借帘,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼淌铐!你這毒婦竟也來(lái)了肺然?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤腿准,失蹤者是張志新(化名)和其女友劉穎际起,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡加叁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年倦沧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片它匕。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡展融,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出豫柬,到底是詐尸還是另有隱情告希,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布烧给,位于F島的核電站燕偶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏础嫡。R本人自食惡果不足惜指么,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榴鼎。 院中可真熱鬧伯诬,春花似錦、人聲如沸巫财。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)平项。三九已至赫舒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闽瓢,已是汗流浹背接癌。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扣讼,地道東北人缺猛。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像届谈,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子弯汰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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

  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒艰山。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解...
    上街買菜丶迷倒老太閱讀 1,352評(píng)論 0 20
  • php usleep() 函數(shù)延遲代碼執(zhí)行若干微秒。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解包咏闪。 uni...
    思?jí)鬚HP閱讀 1,981評(píng)論 1 24
  • 一曙搬、時(shí)間日期函數(shù) (1)date() 格式化一個(gè)本地時(shí)間/日期 返回將整數(shù) timestamp按照給定的格式字串而...
    陳智濤閱讀 511評(píng)論 0 1
  • 數(shù)組的概述 PHP 中的數(shù)組實(shí)際上是一個(gè)有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方...
    dptms閱讀 1,591評(píng)論 0 4
  • 一纵装、Array_key_exists();檢查給定的鍵名或索引是否存在于數(shù)組中二征讲、array_keys ()返回?cái)?shù)...
    peng_js閱讀 321評(píng)論 0 0