博客列表 >PHP基础-操作运算符/流程控制

PHP基础-操作运算符/流程控制

岂几岂几
岂几岂几原创
2020年04月19日 00:41:02522浏览

运算符

1. 算术运算符

序号 运算符 示例 描述
1 + $a+$b $a与$b 的和
2 - $a-$b $a与$b 的差
3 * $a*$b $a与$b 的积
4 / $a/$b $a与$b 的商
5 % $a%$b $a与$b 的余(模)
6 ++ $a++/++$a 先用再加/先加再用
7 -- $a--/--$a 先用再减/先减再用
8 ** 2**4 幂运算:2 的 4 次方
  • $a++=>$a = $a + 1, $a--=>$a = $a - 1
  • **: 幂运算需要 php5.6+版本
    运行demo:
  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. # PHP中的运算符
  12. # 1. 算术运算符
  13. ## 1.1. +, -, *, /: 加减乘除
  14. $x = 10;
  15. $y = 20;
  16. // 执行加法
  17. dumpbr($x + $y);
  18. // 执行减法
  19. dumpbr($x - $y);
  20. // 执行除法
  21. dumpbr($y / $x);
  22. // 执行乘法
  23. dumpbr($x * $y);
  24. /*
  25. 执行结果:
  26. int(30)
  27. int(-10)
  28. int(2)
  29. int(200)
  30. */
  31. ## 1.2. %: 取模运算符, 即取余数.
  32. $x = 100;
  33. $y = 7;
  34. dumpbr($x % $y);
  35. /*
  36. 100 / 7 = 14 ... 2
  37. 执行结果:
  38. int(2)
  39. */
  40. ## 1.3. ++:自增;--:自减;
  41. $x = 20;
  42. $y = 10;
  43. /* 自增/自减的优先级大于加减乘除 */
  44. /* ++在变量后面, 则先参与执行表达式,再自增 */
  45. dumpbr($x + $y++);
  46. echobr('$y = ' . $y);
  47. /*
  48. 20 + 10 = 30;
  49. $y = 10 + 1 = 11;
  50. 执行结果:
  51. int(30)
  52. $y = 11
  53. */
  54. /* ++在变量前面, 则先自增, 再参与执行表达式 */
  55. $y = 10;
  56. dumpbr($x + ++$y);
  57. echobr('$y = ' . $y);
  58. /*
  59. $y = 10 + 1 = 11;
  60. 20 + 11 = 31;
  61. 执行结果:
  62. int(31)
  63. $y = 11
  64. */
  65. /* --跟++类似, 功能相反, 自减. 实例略 */

2. 字符串运算符

运算符 示例 描述
. $str1 . $str2 连接运算,返回连接之后的字符串

运行demo:

  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. # 2. . : 字符串连接
  12. /* test1:拼接字符串 */
  13. echobr('hello ' . 'php!');
  14. /*
  15. 执行结果:
  16. hello php!
  17. */
  18. /* test2:拼接字符串和数字(隐式将数字转换为字符串) */
  19. $x = 20;
  20. $y = 10;
  21. /* 必须要用小括号把表达式括起来, 否则会报错 */
  22. $z = '$x + $y = ' . ($x + $y);
  23. echobr($z);
  24. /*
  25. 执行结果:
  26. $x + $y = 30
  27. */
  28. /* test3:拼接数字和数字(两个都会被隐式转换为字符串) */
  29. $z = $x . $y;
  30. echobr($z);
  31. /*
  32. 执行结果:
  33. 2010
  34. */
  35. /* test4:拼接字符串和null(null被当做"") */
  36. $z = "hello" . null;
  37. echobr($z);
  38. /*
  39. 执行结果:
  40. hello
  41. */

3. 赋值运算符

序号 运算符 示例 描述
1 = $a = 10 将表达式的值赋给变量
2 += $a += 10 $a = $a + 10;
3 -= $a -= 10 $a = $a - 10;
4 *= $a *= 10 $a = $a * 10;
5 /= $a /= 10 $a = $a / 10;
6 %= $a %= 10 $a = $a % 10;
7 .= $a .= 'a' $a = $a . 'a';

运行demo:

  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. # 3. 赋值运算符
  12. ## 3.1. = : 将表达式的值赋给变量. 略
  13. ## 3.2. +=, -=, *=, /=, %= : 将变量的值加上(减去/乘以/除以/取余)表达式的值, 把所得的结果赋给变量.
  14. /* test1: 以+=为例 */
  15. $x = 10;
  16. $x += 65535;
  17. echobr($x);
  18. /*
  19. 等效于$x = $x + 65535 = 10 + 65535 = 65545;
  20. 执行结果:
  21. 65545
  22. */
  23. /* test2: 以%=为例 */
  24. $x = 50;
  25. $y = 7;
  26. $x %= $y;
  27. echobr($x);
  28. /*
  29. 执行结果:
  30. 1
  31. */
  32. ## 3.3. .= : 将变量的值转换成字符串, 后拼接表达式的值, 把所得的结果赋予给变量
  33. /* test1 */
  34. $x = 'hello ';
  35. $y = 'boys and girls';
  36. $x .= $y;
  37. echobr($x);
  38. /*
  39. 执行结果:
  40. hello boys and girls
  41. */

4. 比较运算符

序号 运算符 示例 描述
1 > $a > $b 大于
2 >= $a >= $b 大于或等于
3 < $a < $b 小于
4 <= $a <= $b 小于或等于
5 == $a == $b 等于 (值相等即可)
6 === $a == $b 全等于(二边值与类型全等)
7 != $a != $b 不相等
8 !== $a !== $b 不全等
9 <=> $a <=> $b 太空船php7+
  • 比较运算符: 返回布尔值,常用于流程控制中(if/while/for...)
  • <=>: 也叫组合比较符, 例如$a <=> $b, 有三种返回结果
序号 运算 结果
1 $a > $b 返回>0的整数
2 $a < $b 返回<0的整数
3 $a = $b 返回=0的整数

运行demo:

  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. # 4. 比较运算符
  12. ## 4.1. >, >=, <, <= : 跟数学上的大于, 大于等于, 小于, 小于等于同义.
  13. /* test1 */
  14. $x = 13;
  15. $y = 5;
  16. if ($x < $y) {
  17. echobr('变量$x的值比$y的值小');
  18. } else {
  19. echobr('变量x的值不小于$y的值');
  20. }
  21. /*
  22. 执行结果:
  23. 变量x的值不小于$y的值
  24. */
  25. ## 4.2. ==:判断左右两边的值是否相等;===:同时判断左右两边的值和数据类型是否相等, 值和数据类型都相等, 才返回true.
  26. $x = 100;
  27. $y = '100';
  28. $z = '100';
  29. /* test1: */
  30. if ($x == $y) {
  31. echobr('变量$x的值和变量$y的值在数值上相等');
  32. } else {
  33. echobr('变量$x的值和变量$y的值在数值上不相等');
  34. }
  35. /*
  36. 执行结果:
  37. 变量$x的值和变量$y的值在数值上相等
  38. */
  39. /* test2: */
  40. if ($x === $y) {
  41. echobr('变量$x的值和变量$y的值在数值上和数据类型上都相等');
  42. } else {
  43. echobr('变量$x的值和变量$y的值在数据类型上不相等或数值上和数据类型上均不相等');
  44. }
  45. /*
  46. 执行结果:
  47. 变量$x的值和变量$y的值在数据类型上不相等或数值上和数据类型上均不相等
  48. */
  49. /* test3 */
  50. $x = null;
  51. $y = 'null';
  52. $z = 'NuLl';
  53. dumpbr($x == $y);
  54. dumpbr($x === $y);
  55. dumpbr($y == $z);
  56. /*
  57. 测试结果: 1:null值和"null"字符串值不相等; 2: 字符串值比较区分大小写;
  58. 执行结果:
  59. bool(false)
  60. bool(false)
  61. bool(false)
  62. */
  63. // !=(值不相等), !==(值和类型补全等)的使用方法类似, 例子略.
  64. ## 4.3. <=> : 太空船运算符, PHP7.0+才支持, 左边的值大于右边的值, 返回正数(1); 左边的数值小于右边的数值, 返回负数(-1); 左右相等, 返回0.
  65. /* 使用场景: 当双方比较的各种结果分别执行不同的业务逻辑时使用 */
  66. $temperature = 20;
  67. $zero = 0;
  68. $result = $temperature <=> $zero;
  69. $status = '';
  70. switch ($result) {
  71. case 1:
  72. $status = $temperature . '摄氏度的水的状态是液体';
  73. break;
  74. case 0:
  75. $status = $temperature . '摄氏度的水的状态是冰水混合物';
  76. break;
  77. case -1:
  78. $status = $temperature . '摄氏度的水的状态是固态';
  79. break;
  80. default:
  81. }
  82. echobr($status);
  83. /*
  84. 执行结果:
  85. 20摄氏度的水的状态是液体
  86. */

5. 逻辑运算符

序号 运算符 示例 描述
1 && $a && $b 逻辑与
2 ` ` `$a $b` 逻辑或
3 ! !$a 逻辑非
4 xor $a xor $b 逻辑异或

运行demo:

  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. # 5. 逻辑运算符
  12. ## 5.1. &&: 与运算, && 左右两边的表达式都返回true时, 与运算的值才返回true;否则, 返回false.
  13. /* 逻辑运算符的优先级小于比较运算符. */
  14. /* 如果左边的表达式就返回false, 则直接返回false, 不计算右边的表达式的值了. */
  15. /* test1: */
  16. dumpbr(3 < 4 && 5 > 8);
  17. /*
  18. 执行结果:
  19. bool(false)
  20. */
  21. /* test2: */
  22. $array;
  23. dumpbr(isset($array) && count($array) > 0);
  24. /*
  25. 执行isset($array)表达式的值是false, 直接返回. count($array)未执行, 所以不会报错
  26. 执行结果:
  27. bool(false)
  28. */
  29. ## 5.2. ||: 或运算, || 左右两边的表达式都返回false时, 或运算的值才返回false;否则, 返回true.
  30. /* 如果左边的表达式返回true, 则直接返回true, 不计算右边表达式的值了. */
  31. dumpbr(null == "null" || "null" == "nUlL");
  32. /*
  33. 运行结果:
  34. bool(true)
  35. */
  36. ## 5.3. !: 非运算. 即布尔值取反.
  37. // 举例(略)

6. 三元运算符

序号 运算符 示例 描述 场景
1 ?: $a ?: $b 仅判断表达式true/false 简化双分支
2 ?? $a ?? $b 判断变量存在且不为 null 设置默认值

运行demo:

  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. # 6. 三元运算符
  12. ## 6.1. ?: 三元运算符, 类似: if(判断){return 表达式1} else {return 表达式2}
  13. $age = 20;
  14. $status = ($age >= 18) ? '成年人' : '未成年人';
  15. echobr($age . '岁的人是' . $status);
  16. /*
  17. 执行结果:
  18. 20岁的人是成年人
  19. */
  20. ## 6.2. ?? 判断变量存在且不为 null, 否则为其设置默认值.
  21. $username = $GET['username'] ?? 'admin';
  22. echobr($username);
  23. /*
  24. 当请求路径包括: ?username=zhangsan, 则打印结果为:zhangsan
  25. 执行结果:
  26. admin
  27. */

7. 错误屏蔽符

运算符 示例 描述 场景
@ @(10/0) 屏蔽所有运行错误 线上生产环境

运行demo:

  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. ## 7. 错误屏蔽符
  12. /* 使用场景: 防止敏感信息泄露, 如sql语句, 数据库链接的用户名,密码等 */
  13. // $username未定义, 直接echo会报错, 加了@, 异常照旧, 但不报错
  14. echo @$username;
  15. /*
  16. 不加@, 浏览器会输出异常信息, 加了之后, 就不输出了.
  17. */
  18. // 语法错误不能被@忽略
  19. @defin('CONSTANT1', '我是一个常量');
  20. /*
  21. 照样报错
  22. */

流程控制

1. 分支结构

序号 类型 语法 模板语法
1 单分支 if(){...} if(): ... endif;
2 双分支 if(){...} else {...} if(): ... else: ... endif;
3 多分支 if(){...} elseif {...} else {...} if(): ... elseif: ... else: ... endif;
4 switch switch() {case: ... break...} switch(): ...endswitch;

运行demo:

  1. <?php
  2. # 流程控制
  3. function echobr($param = '')
  4. {
  5. echo $param . '<br>';
  6. }
  7. function dumpbr($param = '')
  8. {
  9. var_dump($param);
  10. echo '<br>';
  11. }
  12. # 1. 分支结构
  13. ## 1.1. 单分支
  14. /* 单分支只有if, 没有else/elseif */
  15. /* test1: */
  16. $current = 10;
  17. $time = 8;
  18. if ($current > $time) {
  19. echobr('现在已经' . $current . '点了, 上班时间是' . $time . '点, 你迟到了');
  20. }
  21. /*
  22. 执行结果:
  23. 现在已经10点了, 上班时间是8点, 你迟到了
  24. */
  25. /* 当代码体中只有一行代码时, 花括号可以省略 */
  26. if ($current > $time)
  27. echobr('现在已经' . $current . '点了, 上班时间是' . $time . '点, 你迟到了');
  28. /*
  29. 执行结果:
  30. 现在已经10点了, 上班时间是8点, 你迟到了
  31. */
  32. /* 单分支的替代语法 */
  33. if ($current > $time) :
  34. echobr('现在已经' . $current . '点了, 上班时间是' . $time . '点, 你迟到了');
  35. endif;
  36. /*
  37. 执行结果:
  38. 现在已经10点了, 上班时间是8点, 你迟到了
  39. */
  40. ## 1.2. 双分支
  41. /* 有if,有else */
  42. /* test1: */
  43. $current = 7.20;
  44. $time = 8;
  45. if ($current > $time) {
  46. echobr('现在已经' . $current . '点了, 上班时间是' . $time . '点, 你迟到了');
  47. } else {
  48. echobr('打卡成功, 按时上班.');
  49. }
  50. /*
  51. 执行结果:
  52. 打卡成功, 按时上班.
  53. */
  54. /* 双分支的替代语法: */
  55. if ($current > $time) :
  56. echobr('现在已经' . $current . '点了, 上班时间是' . $time . '点, 你迟到了');
  57. else :
  58. echobr('打卡成功, 按时上班.');
  59. endif;
  60. /*
  61. 执行结果:
  62. 打卡成功, 按时上班.
  63. */
  64. ## 1.3. 多分支
  65. /* if...elseif...[elseif...]else... */
  66. $temperature = -20;
  67. $zero = 0;
  68. $result = $temperature <=> $zero;
  69. if ($result > 0) {
  70. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为液态.');
  71. } elseif ($result == 0) {
  72. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰水混合物.');
  73. } else {
  74. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰块.');
  75. }
  76. /*
  77. 执行结果:
  78. 当前水的温度为-20摄氏度, 形态为冰块.
  79. */
  80. /* 多分支语句的替代语法: */
  81. $temperature = 20;
  82. $zero = 0;
  83. $result = $temperature <=> $zero;
  84. if ($result > 0) :
  85. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为液态.');
  86. elseif ($result == 0) :
  87. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰水混合物.');
  88. else :
  89. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰块.');
  90. endif;
  91. /*
  92. 执行结果:
  93. 当前水的温度为20摄氏度, 形态为液态.
  94. */
  95. ## 1.4. 使用switch简化多分支
  96. $temperature = 0;
  97. $zero = 0;
  98. $result = $temperature <=> $zero;
  99. switch ($result) {
  100. case 1:
  101. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为液态.');
  102. break;
  103. case 0:
  104. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰水混合物.');
  105. break;
  106. default:
  107. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰块.');
  108. }
  109. /*
  110. 执行结果:
  111. 当前水的温度为0摄氏度, 形态为冰水混合物.
  112. */
  113. /* switch语句的替代语法 */
  114. $temperature = 15;
  115. $zero = 0;
  116. $result = $temperature <=> $zero;
  117. switch ($result):
  118. case 1:
  119. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为液态.');
  120. break;
  121. case 0:
  122. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰水混合物.');
  123. break;
  124. default:
  125. echobr('当前水的温度为' . $temperature . '摄氏度, 形态为冰块.');
  126. endswitch;
  127. /*
  128. 执行结果:
  129. 当前水的温度为15摄氏度, 形态为液态.
  130. */

2. 循环结构

序号 类型 语法 模板语法
1 入口判断型 while(){...} while(): ... endwhile;
2 出口判断型 do {...} while(); do : ... while();
3 计数型 for(){...} for () : ... endfor;

运行demo:

  1. <?php
  2. # 循环控制
  3. function echobr($param = '')
  4. {
  5. echo $param . '<br>';
  6. }
  7. function dumpbr($param = '')
  8. {
  9. var_dump($param);
  10. echo '<br>';
  11. }
  12. # tips:遍历数组的一种方法
  13. $team = ['张三', '李四', '王五', '赵六', '钱七', '孙八'];
  14. /* 1.使用current($array)获取当前数组元素值 */
  15. /* 2.跳到下一个元素:next($array) */
  16. /* 3.重置数组元素指针指向第一个元素: reset($array) */
  17. # 1. 入口判断型
  18. /* while() {...} */
  19. /* test1: */
  20. while ($teammate = current($team)) {
  21. echobr($teammate);
  22. next($team);
  23. }
  24. /*
  25. 执行结果:
  26. 张三
  27. 李四
  28. 王五
  29. 赵六
  30. 钱七
  31. 孙八
  32. */
  33. /* while语句替代语法 */
  34. reset($team);
  35. while ($teammate = current($team)) :
  36. echobr($teammate);
  37. next($team);
  38. endwhile;
  39. /*
  40. 执行结果:
  41. 张三
  42. 李四
  43. 王五
  44. 赵六
  45. 钱七
  46. 孙八
  47. */
  48. # 2. 出口型判断
  49. /* do {...} while(...) */
  50. reset($team);
  51. do {
  52. $teammate = current($team);
  53. echobr($teamate);
  54. next($team);
  55. } while ($teammate = current($team));
  56. /* 出口型没有替代语法 */
  57. # 3. 计数型
  58. /* for循环 */
  59. /* test1: 循环生成学号 */
  60. $stuCount = 10;
  61. $stuNumber = [];
  62. $prefix = 'NO.';
  63. for ($index = 0; $index < $stuCount; $index++) {
  64. $stuNumber[] = $prefix . ($index + 1);
  65. }
  66. echo '<pre>';
  67. dumpbr($stuNumber);
  68. echo '</pre>';
  69. /*
  70. 执行结果:
  71. array(10) {
  72. [0]=>
  73. string(4) "NO.1"
  74. [1]=>
  75. string(4) "NO.2"
  76. [2]=>
  77. string(4) "NO.3"
  78. [3]=>
  79. string(4) "NO.4"
  80. [4]=>
  81. string(4) "NO.5"
  82. [5]=>
  83. string(4) "NO.6"
  84. [6]=>
  85. string(4) "NO.7"
  86. [7]=>
  87. string(4) "NO.8"
  88. [8]=>
  89. string(4) "NO.9"
  90. [9]=>
  91. string(5) "NO.10"
  92. }
  93. */
  94. /* for循环的替代语法 */
  95. /* 循环打印出所有学生学号 */
  96. for ($index = 0; $index < count($stuNumber); $index++) :
  97. echobr($stuNumber[$index]);
  98. endfor;
  99. /*
  100. 执行结果:
  101. NO.1
  102. NO.2
  103. NO.3
  104. NO.4
  105. NO.5
  106. NO.6
  107. NO.7
  108. NO.8
  109. NO.9
  110. NO.10
  111. */

循环控制关键字:

序号 关键字 描述
1 continue 终止本次循环,提前进入下一轮
2 break 跳出本层循环

运行demo:

  1. <?php
  2. function echobr($param = '')
  3. {
  4. echo $param . '<br>';
  5. }
  6. function dumpbr($param = '')
  7. {
  8. var_dump($param);
  9. echo '<br>';
  10. }
  11. # 4. 两个循环中用到的关键字
  12. ## 4.1. continue: 结束本次循环, 提前进入下一次循环
  13. $stuNumber[4] = null;
  14. $stuNumber[7] = false;
  15. for ($index = 0; $index < count($stuNumber); $index++) {
  16. // 不打印false/null值
  17. if (!$stuNumber[$index]) {
  18. echobr('第' . ($index + 1) . '个学生退学了, 学号注销');
  19. continue;
  20. }
  21. echobr('第' . ($index + 1) . '个学生的学号是:' . $stuNumber[$index]);
  22. }
  23. /*
  24. 执行结果:
  25. 第1个学生的学号是:NO.1
  26. 第2个学生的学号是:NO.2
  27. 第3个学生的学号是:NO.3
  28. 第4个学生的学号是:NO.4
  29. 第5个学生退学了, 学号注销
  30. 第6个学生的学号是:NO.6
  31. 第7个学生的学号是:NO.7
  32. 第8个学生退学了, 学号注销
  33. 第9个学生的学号是:NO.9
  34. 第10个学生的学号是:NO.10
  35. */
  36. ## 4.2. break: 结束本层循环.
  37. $progress = [100, 100, 100, 100, 1000, 100, 100, 100];
  38. $maxNumber = 200;
  39. echobr('共有' . count($progress) . '个步骤');
  40. for ($index = 0; $index < count($progress); $index++) {
  41. if ($progress[$index] > $maxNumber) {
  42. echobr('有内鬼, 终止交易');
  43. break;
  44. }
  45. echobr('步骤' . ($index + 1) . '一切正常');
  46. }
  47. /*
  48. 执行结果:
  49. 共有8个步骤
  50. 步骤1一切正常
  51. 步骤2一切正常
  52. 步骤3一切正常
  53. 步骤4一切正常
  54. 有内鬼, 终止交易
  55. */

学习心得

  • php中的运算符总结
    • 算数运算符, 可以实现变量值在数学意义上的加减乘除幂等.
    • 字符串运算符用于数据拼接, 数据并不局限于字符串, 也可能是数字, null值, 布尔值等.
    • 赋值运算符用于给变量赋值, 有两种, 一种是直接给变量赋表达式的值(=); 另一种是将变量原值与表达式的值做算术运算或字符串拼接后, 把操作结果再赋给原变量(+=, .=等).
    • 比较运算符基本上就是对变量值进行数学意义上的大小比较, 当然, 也不止数学意义上的大小比较, 还包括数据类型的比较(===, !==)等.
    • 逻辑运算符, 是将多个比较结果进行逻辑判断(比较难解释, 类似离散数学的与或非), 从而实现复杂条件的判断.
    • 三元运算符, ?:可以看做是if(…) {…} else {…}(即多分支流程控制)的简写, 具有一定的流程控制功能. ??则是给未赋值的变量赋上默认值.
  • php中的流程控制总结
    • 单分支可以理解为: 如果…就…;
    • 双分支可以理解为: 如果…就…否则…;
    • 多分支可以理解为: 如果…就…否则如果…就…[1-n]否则…;
    • 流程控制, 即满足不同的条件时, 执行相应的代码.
  • php中的循环控制, 都是对一批数据, 一个个获取出来, 然后执行相同的代码处理(即循环体中的代码).while和do while都需要人为指定下一个循环的值对象;for则可以通过计数的方式, 自动计算下一个循环的值对象的序号, 即for循环处理的数据集, 大都是有序号标识的.
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议