循環(huán)結(jié)構(gòu)
滿足一定的條件,循環(huán)執(zhí)行指定的代碼(循環(huán)體).常見的有for循環(huán),while循環(huán),do-while循環(huán).
while語法
又稱當(dāng)型循環(huán),當(dāng)滿足指定的條件,循環(huán)執(zhí)行循環(huán)體.
while(循環(huán)條件){
循環(huán)體;
(改變循環(huán)條件)
}
計(jì)算1-100的和
$i = 1;
$sum = 0;
while($i <= 100){
$sum += $i ;
$i++;
};
echo $sum;
do-while語法
do{
循環(huán)體
}while(條件)
//求兩個數(shù)的最大公約數(shù)
$num1 = 48;
$num2 = 36;
if(empty($num1) || empty($num2)){
die("參數(shù)不能為0");
};
do{
$mod = $num1 % $num2;
//除盡 循環(huán)終止
//為除盡 輾轉(zhuǎn)--顛倒參數(shù)
$num1 = $num2;
$num2 = $mod;
}while($mod != 0);
echo $num1;
注意 : 對于判斷條件基于循環(huán)體的執(zhí)行時,必須使用do--while.
die , exit 退出代碼執(zhí)行
當(dāng)前位置之后的所有代碼不執(zhí)行
sleep() 必須傳參 單位:s
執(zhí)行到sleep所在的語句后,延遲一定的秒數(shù),繼續(xù)執(zhí)行 可以查看一些臨時數(shù)據(jù)
函數(shù)語句
封裝函數(shù),可以提高代碼的復(fù)用率
1.聲明語法
1)語法
function fn(){
函數(shù)體;
return語句;
}
2)五要素
function關(guān)鍵字
函數(shù)名. 數(shù)字字母下劃線組成.---不區(qū)分大小寫(變量區(qū)分,常量區(qū)分)
參數(shù)列表:可選
函數(shù)體:函數(shù)功能的核心代碼
返回值 : 可選 . 通過return語句實(shí)現(xiàn),將數(shù)據(jù)返回到調(diào)用的地方.
3)全局作用域與局部作用域的關(guān)系
全局作用域與局部作用域沒有交集. 不同函數(shù)的作用域也沒有交集.
超全局變量 $GLOBALS
在全局中創(chuàng)建的變量默認(rèn)加入到$GLOBALS中
也可以在局部作用域中創(chuàng)建超全局變量
刪除或者修改$GLOBALS數(shù)組的元素,會導(dǎo)致全局變量同步修改或刪除.
系統(tǒng)函數(shù)
1.時間日期函數(shù)
日期時間:年月日時分秒
1)time() 時間戳
返回自Unix紀(jì)元(格林威治時間 1970年 1月 1日 00:00:00)到當(dāng)前時間的秒數(shù)
為10位整型數(shù)字 通常用于保存文章的發(fā)布時間 . 商品的發(fā)布時間等
2)date()
date("Y-m-d H : i : s",time());
將時間戳轉(zhuǎn)換為具體時間 年月日 時分秒
strtotime() 將時間字符串轉(zhuǎn)換為時間戳
$num1 = strtotime("2017-10-12 22:40:00");
$num2 = strtotime("2017-10-11 22:40:00");
echo ($num1-$num2)/(60*60*24);
數(shù)學(xué)函數(shù)
max(),min()---分別返回一組數(shù)的最大值和最小值
abs()---返回絕對值
floor()---向下取整
ceil()---向上取整
round()---四舍五入
rand(),mt_rand()---返回隨機(jī)數(shù),可以取兩端的值.
mt_rand生成速度比rand快四倍多
//隨機(jī)生成驗(yàn)證碼
$num = 0;
$code = 0;
for($i = 0 ; $i <= 5 ; $i++){
$num = mt_rand(0,15);
$code .= dechex($num);
//將生成的隨機(jī)數(shù)轉(zhuǎn)換成十六進(jìn)制 滿足有字母的需求
}
echo $code
文件引入 include() require()
include_once (只引入一次);
require_once (只引入一次);
魔術(shù)常量DIR
隨著執(zhí)行位置變化而變量
值在編譯階段已經(jīng)確定