其它運(yùn)算符
@ => -> @:單行抑制錯(cuò)誤铸豁。 => : 數(shù)組中鍵值對(duì)關(guān)聯(lián)符 -> : 對(duì)象訪問(wèn)成員方法或者成員屬性符
: 這個(gè)可以執(zhí)行系統(tǒng)的一些指令
1蜈垮、順序結(jié)構(gòu)
2耗跛、分支結(jié)構(gòu)
單向
形式:
if (表達(dá)式) {
語(yǔ)句塊
}
執(zhí)行流程:如果表達(dá)式為真,則執(zhí)行語(yǔ)句塊攒发,如果為假调塌,則不執(zhí)行
【注】大括號(hào)一般都要加上,也有些二貨不加晨继。如果不加烟阐,那么只有if下面的第一條語(yǔ)句是if所影響的,其它都不是紊扬。所以一定要加上大括號(hào)蜒茄。
雙向
形式:
if (表達(dá)式) {
語(yǔ)句塊1
} else {
語(yǔ)句塊2
}
執(zhí)行流程:如果表達(dá)式為真,那么執(zhí)行語(yǔ)句塊1餐屎,如果表達(dá)式為假檀葛,那么執(zhí)行語(yǔ)句塊2
【注】語(yǔ)句塊1和語(yǔ)句塊2不會(huì)同時(shí)都執(zhí)行,也不會(huì)同時(shí)都不執(zhí)行腹缩,其肯定會(huì)執(zhí)行其中一個(gè)
多向
形式:
if (表達(dá)式1) {
語(yǔ)句塊1
} elseif (表達(dá)式2) {
語(yǔ)句塊2
} elseif (表達(dá)式3) {
語(yǔ)句塊3
} else {
語(yǔ)句塊4
}
執(zhí)行流程:首先會(huì)判斷表達(dá)式1是否為真屿聋,如果為真,則執(zhí)行語(yǔ)句塊1藏鹊,然后直接跳出整個(gè)結(jié)構(gòu)润讥。如果為假,會(huì)繼續(xù)判斷表達(dá)式2是否為真盘寡,如果為真楚殿,執(zhí)行語(yǔ)句塊2,然后跳出整個(gè)結(jié)構(gòu)竿痰,如果為假脆粥,接著往下執(zhí)行這樣的判斷砌溺,最后如果都為假,則執(zhí)行最后一個(gè)else語(yǔ)句塊
理論上elseif可以有無(wú)限多個(gè)变隔,else也可以不加
嵌套
形式:
if (表達(dá)式1) {
if (表達(dá)式2) {
} else {
}
} else {
}
switch case
格式:
switch (表達(dá)式) {
case 常量1:
語(yǔ)句塊1规伐;
break;
case 常量2:
語(yǔ)句塊2匣缘;
break猖闪;
case 常量3:
語(yǔ)句塊3;
break孵户;
default:
語(yǔ)句塊
break萧朝;
}
//mt_rand會(huì)產(chǎn)生一個(gè)隨機(jī)數(shù),范圍在1-10之間
$x = mt_rand(1, 10);
/*
1夏哭、基本上每一個(gè)case都要有一個(gè)break检柬,break用來(lái)結(jié)束整個(gè)結(jié)構(gòu)。
2竖配、case后要寫(xiě)常量何址,數(shù)字或者字符串都可以
3、default在switch結(jié)構(gòu)中可以加进胯,也可以不加
4用爪、break也可以省略,但是省略后switch會(huì)接著往下執(zhí)行胁镐,直到碰到break結(jié)束整個(gè)結(jié)構(gòu)
5偎血、多個(gè)case可以同時(shí)執(zhí)行同樣的語(yǔ)句。
*/
3盯漂、循環(huán)結(jié)構(gòu)
while
基本語(yǔ)法
格式:
while (表達(dá)式) {
循環(huán)體;
}
執(zhí)行流程:首先判斷表達(dá)式是否為真颇玷,如果為真,執(zhí)行循環(huán)體就缆,然后再次判斷表達(dá)式是否為真帖渠,如果為真,接著執(zhí)行循環(huán)體竭宰,直到表達(dá)式為假空郊,循環(huán)退出。
打印表格
人在江湖飄
人在江湖飄呀切揭,哪有不挨刀呀狞甚,幾刀砍死你 1-5;
/*
人在江湖飄
分析:當(dāng)兩個(gè)人所出的數(shù)字相差1 -1 4 -4的時(shí)候肯定會(huì)有輸贏廓旬,其他的平局哼审,接著干叉谜。
沒(méi)有輸贏的時(shí)候一直出拗窃,有輸贏的時(shí)候才退出這個(gè)循環(huán)她奥。
【注】break只能用來(lái)跳出循環(huán)和跳出switch結(jié)構(gòu)敷硅,和if無(wú)關(guān)
*/
while (1) {
$haifeng = mt_rand(1, 5);
$xinlong = mt_rand(1, 5);
$sub = $haifeng - $xinlong;
if ((abs($sub) == 1) || (abs($sub) == 4)) { //在這里面他們兩個(gè)肯定分出了輸贏
if (($sub == 1) || ($sub == -4)) {
echo '海峰技高一籌巩步,出了一個(gè)'.$haifeng.'贏了新龍的'.$xinlong;
//break用來(lái)退出循環(huán)
break;
}
if (($sub == -1) || ($sub == 4)) {
echo '新龍技高一籌旁赊,出了一個(gè)'.$xinlong.'贏了海峰的'.$haifeng;
break;
}
}
echo '海峰和新龍旗鼓相當(dāng),接著干<br />';
}
do-while(了解)
格式:
do {
循環(huán)體
} while (表達(dá)式);
執(zhí)行流程:首先執(zhí)行一遍循環(huán)體椅野,然后判斷表達(dá)式是否為真终畅,如果為真,繼續(xù)執(zhí)行循環(huán)體竟闪,然后再次判斷表達(dá)式是否為真离福,直到表達(dá)式為假,循環(huán)退出炼蛤。
問(wèn):do-while和while有什么區(qū)別妖爷?
while:先判斷,再執(zhí)行循環(huán)體理朋。
do-while:先執(zhí)行絮识。再判斷表達(dá)式。
我們寫(xiě)代碼過(guò)程中一般都是while嗽上。
for
基本語(yǔ)法
格式:
for (表達(dá)式1; 表達(dá)式2; 表達(dá)式3) {
循環(huán)體
}
執(zhí)行流程:首先執(zhí)行表達(dá)式1次舌,然后判斷表達(dá)式2是否成立,如果成立兽愤,執(zhí)行循環(huán)體彼念,然后再執(zhí)行表達(dá)式3,然后再次判斷表達(dá)式2是否成立浅萧,直到表達(dá)式2不成立逐沙,循環(huán)退出。
打印表格
打印圖形
for () {
for () {
}
}
規(guī)律:打印圖形都是外層循環(huán)控制行數(shù)惯殊,內(nèi)層循環(huán)控制每一行打印的內(nèi)容酱吝。
雙重循環(huán)打印表格
break和continue
break:用來(lái)結(jié)束循環(huán)。不管break下面還有多少語(yǔ)句土思,碰到break立即結(jié)束循環(huán)务热。
continue:用來(lái)結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)己儒。不管continue下面還有多少語(yǔ)句崎岂,碰到continue立即結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)闪湾。
【注】當(dāng)continue用到while中的時(shí)候要注意死循環(huán)冲甘。
變形格式
goto(了解)(禁止使用)