PHP基础巩固之运算符和流程控制

本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了运算符、流程控制的相关问题,包括了运算符的分类、定义以及一些常见运算符的用法,还有流程控制的顺序执行、分支执行、循环执行等等相关内容,希望对大家有帮助。

推荐学习:《PHP视频教程》

运算符

(一)定义

运算符对一个或者多个操作数(变量或者数值)执行某种运算的符号,因此也叫操作符。

(二)分类

  1. 赋值运算符
  2. 算术运算符
  3. 比较运算符
  4. 逻辑运算符
  5. 连接运算符
  6. 错误抑制符
  7. 三目运算符
  8. 自操作运算符
  9. 位运算符

(三)算数运算符

<?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语句默认执行的过程就是顺序执行这点跟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,说明内容是同下的

用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."&nbsp;&nbsp;&nbsp;&nbsp;";
		}
		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视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » PHP基础巩固之运算符和流程控制