首頁  >  文章  >  後端開發  >  PHP基礎鞏固之運算子與流程控制

PHP基礎鞏固之運算子與流程控制

WBOY
WBOY轉載
2022-04-12 11:42:161181瀏覽

本篇文章為大家帶來了關於PHP的相關知識,其中主要介紹了運算符、流程控制的相關問題,包括了運算符的分類、定義以及一些常見運算符的用法,還有流程控制的順序執行、分支執行、循環執行等等相關內容,希望對大家有幫助。

PHP基礎鞏固之運算子與流程控制

推薦學習:《PHP影片教學

運算子

(一)定義

        運算子對一個或多個運算元(變數或數值)執行某種運算的符號,因此也叫操作符。

(二)分類

  1. # 賦值運算子
  2.  算術運算子
  3.  比較運算子
  4. ## 邏輯運算子
  5.  連接運算子
  6. ##錯誤抑制符
  7. 三目運算子

#自運算子

位元運算子

#(三)算數運算子

<?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 class="brush:php;toolbar:false">".`$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 "不及格";
    	}

     补:switch语句(分支执行)

    <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语句

    1.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;
    		}
    	}
    
    ?>

     

    2.do...while循环

    <?php
    	$i = 0;
    	do {
    		echo $i++."<br>";
    	}while($i < 5)
    ?>

    3.for语句

    <?php
    	for($i = 0;$i < 6;$i++){
    		echo "for循环遍历0到5,开始:"."$i"."<hr>";
    	}
    ?>

    附加练习:用php输出乘法口诀

    <?php
    	for($i = 1;$i < 10;$i++){
    		for($j = 1;$j < $i+1;$j++){
    			echo $i.'x'.$j.'='.$i*$j."    ";
    		}
    		echo "<br>";
    	}
    ?>

    4.break语句

            用于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>";
    	}
    ?>

    5.continute语句

            用在循环语句中,代表着本次循环轮空,不是结束整个循环语句。

    <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>";
    	}
    ?>

    6.exit()语句

            用处是结束当前整个php脚本,awd的时候经常用到包括die()语句也是!

    <?php
    	for($i = 0;$i < 6;$i++){
    		if($i == 3){
    			exit("整个脚本到此执行完毕了哦!");//当i=3的时候,整个脚本结束!
    		}
    		echo "for循环遍历0到5,开始:"."$i"."<hr>";
    	}
    ?>

    推荐学习:《PHP视频教程

    以上是PHP基礎鞏固之運算子與流程控制的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除