一、 時(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 arrayarray_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ù)組排序