这篇“PHP运算符和流程控制是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP运算符和流程控制是什么”文章吧。
运算符对一个或者多个操作数(变量或者数值)执行某种运算的符号,因此也叫操作符。
赋值运算符
算术运算符
比较运算符
逻辑运算符
连接运算符
错误抑制符
三目运算符
自操作运算符
位运算符
<?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"> <h2>其他运算符</h2> <?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"> <h4>if——单向分支执行</h4> <?php $pass = 60; $score = 60; if($score >= $pass){ echo "恭喜你通过了!"; }//如果通过了就输出echo,没通过则无回显。 ?> <h4>if——双方向分支执行</h4> <?php $pass = 60; $score = 59; if($score >= $pass){ echo "Pass"; }else{ echo "挂了,sorry!"; } ?> <h4>if——多方向分支执行</h4> <?php $pass = 60; $score = 59; if($score >= 85 && $score<=100){ echo "优秀"; }elseif($score >=75){ echo "良好"; }elseif($score >=60){ echo "及格"; }else{ echo "不及格"; }
<meta charset = "gbk"> <h4>switch——分支执行</h4> <?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"> <h4>break语句</h4> <?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"> <h4>continue语句</h4> <?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运算符和流程控制是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。