推薦學習:《》
運運算元對一個或者多個運算元(變數或者數值)執行某種運算的符號,因此也叫操作符。
- 賦值運運算元
- 算術運運算元
- 比較運運算元
- 邏輯運運算元
- 連線運運算元
- 錯誤抑制符
- 三目運運算元
- 自操作運運算元
- 位運運算元
<?php $a = 5; $b = 6; echo -$a;echo "<br>"; //-5 echo $a - $b;echo "<br>"; //-1 echo $a * $b;echo "<br>"; //30 echo $a / $b;echo "<br>";//6/5 echo $a%$b;echo "<br>"; //5 echo $a++;echo "<br>";//6,此時$a的值為6 echo $a;echo "<br>";//6 echo ++$a;echo "<br>";//7 echo $a--;echo "<br>";//7,此時$a的值為6 echo $a;echo "<br>";//6 echo --$a;echo "<br>";//5 ?>
在PHP中使用.進行字串拼接,也叫連線運運算元;而在JS中字串拼接用的是+,存取物件中的屬性用的是.
<?php $name = "xiaofeng"; $str = "hello,".$name;echo "<br>";//.講$name和hello,拼接起來 //$str = "Hello," + $name;echo "<br>";//0 echo $str; ?>
- =:右邊賦值給左邊
- .=:左邊的連線右邊字串,然後賦值給左邊
- +=:左邊的加上右邊的結果,然後賦值給左邊
- -=:左邊的減去右邊的結果,然後賦值給左邊
- *=:左邊的乘以右邊的結果,然後賦值給左邊
- /=:左邊的廚藝右邊的結果,然後賦值給左邊
- %=:左邊的取模右邊的結果,然後賦值給左邊
<?php $a = 6;$b =5; $b +=$a;echo $b;echo '<br>';//11,此時$b=11 $b -=$a;echo $b;echo '<br>';//11-6=5,此時$b=5 $b *=$a;echo $b;echo '<br>';//5*6=30,此時$b=30 $b /=$a;echo $b;echo '<br>';//30/6=5,此時$b=5 $b %=$a;echo $b;echo '<br>';//5 $b .=$a;echo $b;echo '<br>';//56 .相當於字串連線符講5和6拼接起來了,屬於字串 var_dump($b) ?>
<?php $a = 6;$b = 4; $c = $a == $b;//false $c = $a === $b; //false $c = $a != $b;//true $c = $a !== $b;//true $c = $a <> $b;//true $c = $a > $b;//true $c = $a >= $b;//true $c = $a <= $b;//true var_dump($c) ?>
注:PHP規定使用echo輸出布林型別的時候,echo true輸出為1;echo false頁面什麼都不輸出。
- &&:邏輯與,兩個表示式參與運算,都為真則返回真,否則返回FALSE
- ||:邏輯或,兩個表示式參與運算,一個為真就返回真,都為假返回FALSE
- !:邏輯非,一個表示式參與運算,為真則返回FALSE,為假則返回TRUE
<?php $a = true; $b = false; $c = $a and $b;//true,賦值運算的優先順序比and高 $c = ($a and $b);//flase $c = ($a && $b);//false $c = ($a or $b);//true $c = ($a || $b);//true $c = ($a xor $b);//true $c = !$a;//flase var_dump($c) ?>
誰的優先順序高就先算誰的,並且規定了從哪個方向開始算的問題。
<meta charset="gbk"> <h1>其他運運算元</h1> <?php #?問號——三元運運算元 $a = 10; $b = 20; $c = $a>$b?$a:$b;//20 意思是如果a>b,輸出a反之輸出b echo $c;echo "<hr/>"; #~反引號——執行cmd命令 $cmd="whoami"; echo "<pre>".`$cmd`;//執行whoami命令 $d = "net user"; echo `$d`;echo "<hr/>"; #@符號——遮蔽運算錯誤 $name; echo @$name;//遮蔽沒有定義的錯誤 ?>
自上而下的執行即可,PHP語句預設執行的過程就是順序執行這點跟PHP一樣。
<?php echo "first";echo "<hr>"; echo "second";echo "<hr>"; echo "third";echo "<hr>"; ?>
- 單向條件
- 雙向條件
- 多向條件
<meta charset = "gbk"> <h3>if——單向分支執行</h3> <?php $pass = 60; $score = 60; if($score >= $pass){ echo "恭喜你通過了!"; }//如果通過了就輸出echo,沒通過則無回顯。 ?> <h3>if——雙方向分支執行</h3> <?php $pass = 60; $score = 59; if($score >= $pass){ echo "Pass"; }else{ echo "掛了,sorry!"; } ?> <h3>if——多方向分支執行</h3> <?php $pass = 60; $score = 59; if($score >= 85 && $score<=100){ echo "優秀"; }elseif($score >=75){ echo "良好"; }elseif($score >=60){ echo "及格"; }else{ echo "不及格"; }
<meta charset = "gbk"> <h3>switch——分支執行</h3> <?php $day = 29; switch($day){ case 30: echo "小月"; break; case 31: echo "大月"; break; case 28: echo "平月"; break; case 29: echo "沒有一個月是29天的!"; } ?>
用switch語句注意一下幾點:
- case後面的語句是不需要()的
- 每個case後面都不要忘記後面跟上break語句跳出迴圈
- 如果case後面沒有接上break,說明內容是同下的!
- while語句
- do...while語句
<?php $i = 0;//計數器 while($i < 4){ //迴圈條件 echo $i++."<hr>";//.是將來分割線連線起來,相當於Python裡面的end="" } ?> <hr> <?php $i = 1; //int(0)是flase,flase是不會迴圈 while($i){ echo $i++."<br>"; if($i == 2){ break; } } ?>
<?php $i = 0; do { echo $i++."<br>"; }while($i < 5) ?>
<?php for($i = 0;$i < 6;$i++){ echo "for迴圈遍歷0到5,開始:"."$i"."<hr>"; } ?>
<?php for($i = 1;$i < 10;$i++){ for($j = 1;$j < $i+1;$j++){ echo $i.'x'.$j.'='.$i*$j." "; } echo "<br>"; } ?>
用於for、while、do...while、foreach、switch中斷這些語句!後面用數位表示跳出幾層迴圈,預設沒有數位就表示跳出當前迴圈。
<meta charset = "gbk"> <h3>break語句</h3> <?php for($i = 0;$i < 6;$i++){ echo "for迴圈遍歷0到5,開始:".$i."<br/>"; for($j=1;$j<=5;$j++){ echo $j; if($j == 2){ #break;//只跳出本層迴圈 break 2;//跳出兩層迴圈 } } echo "<br>"; } ?>
用在迴圈語句中,代表著本次迴圈輪空,不是結束整個迴圈語句。
<meta charset = "gbk"> <h3>continue語句</h3> <?php for($i = 0;$i < 6;$i++){ if($i == 3){ continue;//當i=3的時候,結束! } echo "for迴圈遍歷0到5,開始:"."$i"."<hr>"; } ?>
用處是結束當前整個php指令碼,awd的時候經常用到包括die()語句也是!
<?php for($i = 0;$i < 6;$i++){ if($i == 3){ exit("整個指令碼到此執行完畢了哦!");//當i=3的時候,整個指令碼結束! } echo "for迴圈遍歷0到5,開始:"."$i"."<hr>"; } ?>
推薦學習:《》
以上就是PHP基礎鞏固之運運算元和流程控制的詳細內容,更多請關注TW511.COM其它相關文章!