-》php基本語法-三元運算符php
基本語法 程序員
表達式1?表達式2:表達式3學習
規則:若是表達式1的結果是true,則取表達式 2的值。不然,取表達式3的值。spa
舉例:code
<?php $a=90; $b=180; $c=$a>$b?(12-10):"hello,world"; echo 'c=='.$c; ?>
-》php 的字符串運算符orm
案例:對象
<?php $a="hello ,world"; $b=123; $c=$b.$a;//$a具體表示內容和$b 表示內容拼接 echo $c; ?>
-》php 的字符串運算符內存
案例:開發
$a="hello,world"; $b=123; $=$b.$a;//$a具體表示內容 和$b 表示內同拼接 echo $c;
從上例案例咱們看出,當兩個變量(基本數據類型)用,連接的時候,就表示把他們的內容拼接字符串
-》類型運算符
基本語法是:instanceof 用於肯定一個php 變量是否屬於某一類class 的實例,一般在面向對對象
開發中可能用的。
class Dog{} class Dog{} //建立一個對象 $cat1=new Cat; //var_dump($cat1 instanceof Dog); //在世紀開發中,咱們可能須要去判斷某個變量是不是某個類型 if($cat1 instanceof Cat){ echo'$cat1 是一隻貓'; }
-》運算符優先級的說明
//*****運算優先級**** $a=3; $b=++$a*3; echo $b;
①②③④⑤⑥⑦⑧⑨⑩
-》php 程序的三大流程控制
① 順序控制
$a=7; echo "a=".a; echo "hello!"; $a++; echo"a=".a; echo "O(∩_∩)O"; $a++; echo"a="+a;
所謂順序控制流程,就是不加控制的流程,默認狀況,會按照,順序類執行你編寫的代碼
②分支控制
一個簡單的定義:有選擇的來執行咱們的代碼;
分爲1.單分支 2.雙分支 3.多分支
1.單分支的基本語法結構
if(條件表達式){
語句;
//.....
//.........
}
這裏咱們,這裏的條件表達式無論多複雜,最總運算的結果就是true 或者 false.
快速入門:
編寫一個程序,能夠輸入人的年齡,若是該同志的年齡大於年齡大於18歲,則輸出「你年齡大
於18歲,要對本身的星期負責」
$age=7; if($age>18){ echo'你的年齡大於18'; }
2.雙分支
基本語法結構
if(條件表達式){
//n多語句;
}else{
//n多語句;
}
編寫一個程序,能夠輸入人的年齡,若是該同志的年齡大於18歲,則輸出「你年齡大於18歲,要對本身的行爲負責!」。不然,輸出「你的年齡不大此次放過你了。」
代碼: $age=4; if($age>18){ echo'你的年齡大於18'; }else{ echo'你的年齡小於18'; } echo'<br/>程序結束';
3.多重分支
基本語法結構是
if(條件表達式){
//n多語句
}else if(條件表達式){
//n多語句
}else if (條件表達式){
//。
}//這裏可能還有更多的else if
else{
}
☞對上面的結構請注意:
(1) else if 能夠有一個,也能夠有多個
(2) else 能夠沒有
快速入門案例:
編寫一個程序,能夠輸入人的年齡,若是該同志的年齡大於18歲,則輸出「你的年齡大於18,要對
本身的行爲負責,送入監獄」。若是該同志的年齡大於10歲,而且小於等於18,則輸出「你的年
齡也不小了,把你送進少管所」。其餘的狀況則輸出「小孩子,下次注意」;
代碼以下: $age=34; if($age>18){ echo'你要被送進監獄'; }else if($age>10 && $age<=18){ echo'送入少管所'; }else{ echo'下次注意'; } echo 'over';
流程分析圖:
switch 分支語句
基本的語法結構
switch(表達式){
case 常量1;
//n多語句;
break;
case 常量2;
//n多語句;
break;
defual:
//n多語句;
break;
}
☞請注意:
1.case 語句有一到多
2.defual 語句能夠沒有(根據本身代碼的業務邏輯)
3.一般,在case語句後,要帶break,表示退胡switch語句。
4.常量的類型(int,float,字符串。布爾型)
快速入門案例:
請編寫一個程序,該程序 能夠接收一個字符,好比:a,b,c,d,e,f,g a表示星期一,b表示星期二...根據用戶的輸入顯示相依的信息,要求使用switch語句完成 $myChar="b"; switch($myChar){ case"a": echo'今天星期一,猴子穿新衣'; case"b": echo'今天星期二,猴子當小二'; case"c": echo'今天星期三,猴子爬雪山'; default: echo'沒有匹配的日期'; } echo 'okokook';
一個案例:
$i=11; switch($i){ case 10: echo'10'; case 1.3: echo'11'; break; default: echo'hello'; break; case 11: echo'12'; break; }
該案例得出了一個結論:
最終的結論是:首先按照case 順序進行配置,若是一個都沒有匹配到,則執行default 語句的
內容,知道遇到break,則退出switch
學生的問題:老師,說一下if語句和switch 的區別,及應用場景。
回答:從咱們學習if 和switch 分支看,if 對某個範圍的判斷,而switch 是對一個點的判斷, 全部咱們能夠這樣去選擇他們:
應用場景:當咱們的分支就是幾個點的時候(好比判斷坦克的方向),就應當使用switch,若是你的分支是幾個區域(範圍)的判斷,則考慮使用if
③ 循環控制流程
首先說for 循環控制
基本語法結構
for(循環初值;循環的條件;步長){
//n多語句;
}
爲何須要控制循環控制?
問題:請輸出900000000句,」你好,北京「
這樣一問題:怎讓讓咱們的某段代碼,循環的執行
分析圖
for($i=0;$i<2;$i++){
echo'<br/>你好,北京';
}
echo"over";
內存圖:
while 循環
基本語法結構是
while(循環條件){
//循環體,語句
}
案例:使用while 來打印 10句「你好 北京」;
代碼:
//*******while 循環******* $i=0;//$i循環控制變量 while($i<10){ echo'<br/> 你好 北京'.$i; //這裏咱們對循環控制變量,自增。 $i++; }
流程分析圖:
do....while 循環控制
基本語法結構
do{
//循環體
}while(循環條件);
快速入門:循環的顯示 10句,「你好 北京」;
$i=0;//循環控制變量 do{ echo'<br/> dowhile 你好北京'.$i; //對循環控制變量修改 $i++;//這裏有程序員本身控制步長 }while($i<10);
執行的流程圖:
綜合案例:
要求:
請使用循環控制語句,輸出一個空心的菱形
*
* *
* *
* *
*
可是這個菱形的層數能夠靈活的變化。
比較困難-----------》》簡單化
<------
----->
案例以下:
//打印出金字塔的一半
//死去活來
//外層的for循環控制層數
for($i=1;$i<=3;$i++){ //內層控制每層*的個數 for($j=1;$j<$i;$j++){ echo'*'; } echo '<br/>'; }
//打印出整個金字塔
//若是打印3層
//* * -》1 2個空格 1個*(1-1)*+1=1
//** *** -》2 1個空格 3個* (2-1)*2+1=3
//*** ***** -》3 0 個空格 5個* (3-1)*2+1=5
$n=20; for($i=1;$i<=$n;$++){ // 在打印*前,先打印空格 for($j=1;$j<=($i-1)*2+1;$j++){ echo'*'; } echo'<br/>'; }
請你們打印出一個空心金字塔
*
* *
****
思路:
咱們能夠這樣考慮,在給每行輸出*號的時候,要有判斷,(該給*號給*號,該給空格給空格)
思路確定分析:
和一個空心的菱形。
①②③④⑤⑥⑦⑧⑨⑩