💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 第三章 操作符与控制结构 一.字符串插入 双引号与单引号的区别: 1.双引号的使用: ``` <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <?php //双引号可以解析变量和转义字符 $username = "jack"; echo "his name is $username!"; echo "<br/>"; $username = "小东"; //如果是英文的感叹号会正常解析变量 echo "他的名字是$username!";//他的名字是小东! echo "<br/>"; //如果是中文的感叹号则会解析不出来 echo "他的名字是$username!";//他的名字是 echo "<br/>"; //转义字符在这里虽然被解析出来了,但是\n是在源代码里换行 //浏览器显示只是一个字符的位置 echo "他的名字是$username,\n他今年20岁了";//他的名字是小东, 他今年20岁了 echo "<br/>"; //为了避免出现错误,推荐使用字符串连接的方式 echo "他的名字是".$username.",他今年20岁了";//他的名字是小东,他今年20岁了 ?> ``` 2.单引号的使用: ``` <?php //单引号只是输出字符串字面值, //不会解析变量和转义字符。 //也不会进行语法加亮提示 $username = 'anllin'; echo 'his name is $username,\n his age is 20.'; //output //his name is $username,\n his age is 20. ?> ``` 部分常用的转义字符 | 转义序列 | 描述 | | --- | --- | | \n | 换行符 | | \r | 回车 | | \t | 水平制表图 | | \\ | 反斜杠 | | \$ | 美元符 | | \” | 双引号 | 二.操作符 ``` <?php //算术操作符 $a = 5; $b = 3; echo $a + $b; echo '<br/>'; echo $a - $b; echo '<br/>'; echo $a * $b; echo '<br/>'; echo $a / $b; echo '<br/>'; echo $a % $b; ?> 8 2 15 1.66666666667 2 <?php //复合赋值操作符 $a = 5; $b = 3; echo $a += $b; echo '<br/>'; echo $a -= $b; echo '<br/>'; echo $a *= $b; echo '<br/>'; echo $a /= $b; echo '<br/>'; echo $a %= $b; echo '<br/>'; echo $a .= $b; ?> 8 5 15 5 2 23 <?php //递增递减运算符 $a = 5; echo ++$a; echo '<br/>'; echo $a++; echo '<br/>'; echo --$a; echo '<br/>'; echo $a--; ?> 6 6 6 6 <?php $a = 5; $b = 3; $c = 5; $d = '5'; echo $a == $c; echo '<br/>'; echo $a === $c; echo '<br/>'; echo $a == $d; echo '<br/>'; echo $a != $b; echo '<br/>'; echo $a !== $d; echo '<br/>'; echo $a != $b; echo '<br/>'; echo $a > $b; echo '<br/>'; echo $b < $c; echo '<br/>'; echo $a >= $c; echo '<br/>'; echo $a <= $c; ?> 1 1 1 1 1 1 1 1 1 1 <?php $a = false; echo ! $a; echo '<br/>'; $b = 5; $c = 3; echo $b > 0 && $c > 0; echo '<br/>'; echo $b > 0 and $c > 0; echo '<br/>'; echo $b != 0 || $c != 0; echo '<br/>'; echo $b != 0 or $c != 0; echo '<br/>'; ?> 1 1 1 1 1 ``` 运算符”and”和”or”比&&和||的优先级要低 三元操作符 ``` <?php $a = 100; echo $a > 60 ? 'success':'fail'; ?> success ``` 错误抑制操作符 ``` <?php echo @(100/0); ?> ``` ![](https://box.kancloud.cn/2016-05-17_573b067578e2b.png) ![](https://box.kancloud.cn/2016-05-17_573b067597773.png) ![](https://box.kancloud.cn/2016-05-17_573b0675ae9f7.png) 三.控制结构 If条件判断语句 ``` <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <?php $a = 10; if ($a > 0) { echo '整数大于零'; } echo '<br/>'; if ($a > 0) { echo '整数大于零'; } else if($a < 0) { echo '整数小于零'; } else { echo '整数等于零'; } ?> ``` Switch语句 ``` <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <?php $role = 'admin'; switch ($role) { case 'admin' : echo '管理员'; break; case 'user' : echo '普通用户'; break; case 'guest' : echo '游客'; break; default : echo '游客'; break; } ?> ``` While循环语句 ``` <?php $a = 10; while ( $a > 0 ) { echo $a --; echo '<br>'; } ?> ``` Do while 循环语句 ``` <?php $a = 10; do { echo $a --; echo '<br/>'; } while ( $a > 0 ) ?> ``` For循环语句 ``` <?php for($a = 0; $a < 10; $a++) { echo $a; echo '<br/>'; } ?> ``` Break语句 ``` <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <?php for($a = 0; $a < 10; $a++) { echo $a; echo '<br/>'; if($a ==5) { break;//终止循环,但执行循环后面的语句 } } echo '循环结束'; ?> ``` Exit语句 ``` <?php for($a = 0; $a < 10; $a++) { echo $a; echo '<br/>'; if($a ==5) { exit;//直接退出,循环后面的语句不执行 } } echo '循环结束'; ?> ``` Continue语句 ``` <?php for($a = 0; $a < 10; $a++) { echo $a; echo '<br/>'; if($a ==5) { continue;//结束本次循环,继续下次循环,循环后面的语句依然执行 } } echo '循环结束'; ?> ```