一、時(shí)間函數(shù)
UTC世界統(tǒng)一時(shí)間,世界標(biāo)準(zhǔn)時(shí)間
北京時(shí)間:東八區(qū)UTC+8
獲取時(shí)區(qū):date_default_timezone_get();
設(shè)置時(shí)區(qū):date_default_timezone_set();
UTC , PRC(Peoples Republic of China) , Asia/chongqing , Asia/shanghai
進(jìn)入服務(wù)器的PHP.ini文件 修改date.timezone = PRC 就可以將默認(rèn)時(shí)區(qū)改為中國
也可以在腳本文件中直接使用date_default_timezone_set設(shè)置,但是僅僅在本文件中生效
1、UNIX時(shí)間戳(timestamp)
1970年1月1日00:00:00到當(dāng)前時(shí)間的秒數(shù)
PHP設(shè)置內(nèi)置函數(shù) time()來獲取服務(wù)器的當(dāng)前時(shí)間戳
2、php時(shí)間函數(shù)
date()函數(shù) 獲取當(dāng)前的日期
語法:
date(時(shí)間格式,規(guī)定時(shí)間戳[默認(rèn)是當(dāng)前的時(shí)間])
#獲取時(shí)間
p(date("y-m-d h:i:s"));
//如果書寫第二個(gè)參數(shù)就是返回時(shí)間戳所在的時(shí)間
p(date("y-m-d h:i:s",1726351542));
時(shí)間參數(shù):
a : am || pm
A : AM || PM
d :幾日,2位數(shù)字,如果不足兩位,補(bǔ)0,前邊補(bǔ)0,eg:01,31
D :星期幾,三個(gè)字母,eg:Fri
F :月份,英文全名,eg:January
h : 12小時(shí)制的小時(shí),01-12
H : 24時(shí)小時(shí),00-23
g : 12小時(shí)制的小時(shí),不足兩位不補(bǔ)0,1-12
G : 24時(shí)小時(shí),0-23,不足兩位不補(bǔ)0
i :分鐘,00-59
j :幾日,兩位數(shù)字, 不足兩位不補(bǔ)0,0-31
l :星期幾,英文全稱,eg:Friday
m :月份,2位,不足兩位補(bǔ)01-12
M:月份,三個(gè)英文字母,Jan、May
n :月份,2位數(shù)字,不足兩位不補(bǔ)0,1-12
s :秒,00-59
S:字尾加英文序數(shù),兩位英文字母,th、nd
t :月份的天數(shù),28,30,31
U :總秒數(shù)
w :數(shù)字型的星期幾,eg:0-6(星期日-星期六)
Y :年,四位,2018
y :年,兩位,18
z :今天是一年中的第幾天,0-365
3、根據(jù)日期獲取時(shí)間戳
strtotime()函數(shù),可以將日期轉(zhuǎn)為時(shí)間戳
語法:
p(strtotime("2018-5-15 12:12:12"));
p(strtotime("2018-5-15"));
4、獲取時(shí)間戳和微秒數(shù)
1s = 1000ms ??1ms = 1000μm(微秒)
1s = 1000000μm
microtime()獲取時(shí)間戳和微秒數(shù)
語法:
p(microtime()); //string(21) "0.74171500 1526353571"
p(microtime(true)); //float(1526353571.7417)
5、獲取時(shí)間數(shù)組
getdate()函數(shù),用于獲取當(dāng)前時(shí)間或某個(gè)時(shí)間戳的時(shí)間數(shù)組
語法:
p(getdate());
p(getdate(1726351542));
6、利用時(shí)間函數(shù)編寫一個(gè)test函數(shù),計(jì)算某一個(gè)函數(shù)的執(zhí)行時(shí)間
function tt() {
$a = 2;
for($i = 0;$i < 9999999;$i++){
$+=$i;
}
}
function test($fun){
//計(jì)算fun這個(gè)函數(shù)的執(zhí)行時(shí)間
}
test("tt");
二、php的數(shù)學(xué)函數(shù)
js中使用Math對象,調(diào)用數(shù)學(xué)方法
php中直接使用數(shù)學(xué)函數(shù),進(jìn)行數(shù)學(xué)計(jì)算
ceil()計(jì)算大于指定數(shù)的最小整數(shù)(向上取整),返回一個(gè)float類型數(shù)字
floor()計(jì)算小于指定數(shù)的最大整數(shù)(向下取整),返回一個(gè)float類型數(shù)字
round()四舍五入,返回float類型
max()找出最大值
min()找出最小值
mt_rand(min,max)生成min-max之間的隨機(jī)數(shù)
pow(num,mi)計(jì)算次方,計(jì)算num的mi次方 冪運(yùn)算
三、php字符串
php中的字符串有三種定義方式:
1)單引號
2)雙引號
3)Heredoc(界定符模式)形式
當(dāng)字符串中需要雙引號時(shí):
$str = '你是個(gè)"狗"';
$str = "你是個(gè)\"狗\"";
雙引號與單引號的區(qū)別:
當(dāng)雙引號中包含變量時(shí),變量會(huì)與其中的其他內(nèi)容鏈接在一起,按照變量的內(nèi)容輸出
當(dāng)單引號中包含變量時(shí),變量名字會(huì)被認(rèn)為是字符串輸出
Heredoc形式定義字符串:
使用字符串的界定符表示界定符( <<< ),在<<<后邊提供一個(gè)標(biāo)識,然后書寫字符串,最后使用標(biāo)識結(jié)束
語法:
$str = <<<str
我愛吃蘋果,啦啦啦
你好
str;
用途:經(jīng)常被用來輸出大量的html和JavaScript代碼時(shí)使用
注:
<<<后邊的標(biāo)識符,可以使用任何合法的字符串作為標(biāo)識,但是結(jié)尾處的標(biāo)識必須和開始的一樣,開頭的標(biāo)識后邊不能跟任何的字符,結(jié)尾的一行必須另起一行,并且這一行除了標(biāo)識符加分號之外不能有其他字符
php字符串連接
.用于連接兩個(gè)字符串
php中字符串操作:
如果是雙引號的字符串:
除了可以直接輸出其中變量,還可以使用{}輸出變量值
trim(str):
刪除字符串首尾空白字符
ltrim(str):
刪除開頭的空白
rtrim(str):
刪除結(jié)尾的空白
strlen(str):
獲取字符串長度
mb_strlen(str,編碼):
獲取字符串長度,可選編碼方式
strtolower(str):
字符串全部轉(zhuǎn)為小寫
strtoupper(str);
字符串全部轉(zhuǎn)為大寫
ucfirst(str):
將字符串首字母變?yōu)榇髮?/p>
ucwords(str):
將字符串中每個(gè)單詞的首字母變大寫
explode(str1,str2):
將str2按照str1的內(nèi)容拆分為一個(gè)數(shù)組
implode(str1,arr1):
將數(shù)組arr1按照str1的規(guī)則拼接成一個(gè)字符串
substr(str,int start,int [length]):
截取字符串str,從start開始,截取length個(gè),如果str是負(fù)數(shù),就從字符串尾部開始截取
mb_substr(str,int start,int[length],編碼):
截取字符串,編碼方式可以是:utf-8、gbk、gb2312
注:系統(tǒng)默認(rèn)不支持mb_substr(),可以在php.ini 文件中查找mbstring.dll 找到;extension=php_mbstring.dll 前邊的;去掉
strchr(str1,str2):
將str1從前邊開始str2的位置開始截取到最后,
strchr("www.baidu.com","c")
strrchr(str1,str2):
將str1從后邊開始str2的位置開始截取到最后
strpos(str1,str2):
從str1中查找str2第一次出現(xiàn)的位置
str_replace("str1",str2,$a,$con):
參數(shù)1:目標(biāo)參數(shù)
參數(shù)2:需要替換的字符串成
參數(shù)3:執(zhí)行替換的內(nèi)容(數(shù)組或字符串)
參數(shù)4:執(zhí)行替換發(fā)生的次數(shù)
解釋:要將$a中的str1換成str2,換$con次
str_ireplace("str1",str2,$a,$con):
用法與str_replace一樣,但是不區(qū)分大小寫
md5():
返回加密字符串,不可逆轉(zhuǎn)
urlencode():
對url進(jìn)行encode加密
原理是:將特殊字符或中文字符轉(zhuǎn)換為16進(jìn)制,然后在每個(gè)字符前邊加一個(gè)標(biāo)識符(%),js中的URL編碼
urldecode():
對使用urlencode編碼的url進(jìn)行解碼
__FIEL__:
是一個(gè)系統(tǒng)常量,可以獲取當(dāng)前文件路徑