💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
顺序控制:程序默认的执行顺序 分支控制:单分支,双分支,多分支 **单分支:** ~~~ if(true){ echo 'abc'; } //或者 if(true) echo 'abc'; ~~~ **单分支替代语法** 在模板中使用 ~~~ <?php if ($a < 0): ?> aaaaaaaaaaaaaaa <?php else:?> bbbbbbbbbbbb <?php endif; ?> ~~~ ### if...else分支 ### 多分支 ~~~ if($age>18){ echo '大于18'; }else if($age>10){ echo '小于18'; }else if($age>1){ echo '小于1'; } ~~~ ~~~ <?php if ($a < 10): ?> <h1>小于10</h1> <?php elseif($a>10):?> <h1>大于10</h1> <?php else:?> <h1>相等</h1> <?php endif; ?> ~~~ ### switch控制 1. switch和case配合才能使用 2. switch遇到break才会退出,不然会继续执行下一个case 3. 匹配不到就执行default 4. case的值可以是任何基本类型的表达式 5. case下面的表达式可以为空,这样会转移到下一个case 6. case后面的:可以为分号 `case false` ~~~ case 'a'; case 'b'; echo 'a和b都运行这句'; ~~~ **switch和if选择** * 几个具体的值,用switch * 值是范围用if ### for循环 * 本质上和while循环是一样的,有初始值,有判断条件,有步长 * for循环视图上比while好理解 ~~~ for($i=0,$j=0;$i<10,$j<-4;$i++,$j--){ echo 'hello'.$i.'<br/>'; } ~~~ **另一种写法** 空语句,结构类型while ~~~ $i=9; for(;$i<10 && $i>5;){ echo '值为'.$i.'<br/>'; $i--; } ~~~ ### while循环 * while是先判断再循环 * do...while先执行一次,再判断 ~~~ $a=0; while($a<10){ echo $a.'<br/>'; $a++; } ~~~ ### do...while循环 * 用的没有for循环多 * 结构和while循环一样,只是在{}前面加了一个do ### break语句 * 结束当前的循环。 * 可以用于:for,foreach,while,do-while,switch * break可以接受一个参数,跳出几重循环 ~~~ $i=0; while(true){ $val=rand(0,1000); $i++; if($val==99){ echo $i; break; } } ~~~ ~~~ for($i=0;$i<10;$i++){ echo $i; if($i==9){ break; } } ~~~ ![](https://box.kancloud.cn/96ed6631b2825ea3841f7809247643d9_266x230.png) ### continue语句 * 跳过本次循环中剩余代码,跳出本次循环。执行下一次循环 * continue接收一个参数,跳出几重循环 ~~~ for($i=0;$i<10;$i++){ if($i==5){ continue; } echo $i; } ~~~ ![](https://box.kancloud.cn/233e82379a649a895935787d4fa8e1d3_259x110.png) ### goto语句 * goto只能用于同一个作用域,即无法跳出一个函数或类方法,也无法跳入到另一个函数 * 一般用goto跳出循环,替代多层break; ~~~ goto a; echo 'aa'; a: echo 'bb'; ~~~