本文是温习所写,并不会涵盖一些根底知识点

if elseif else

while

do-while

for

foreach

break

能够承受一个数字参数,指定跳出几重循环,默认是1

continue

在循环构造中,跳过循环体残余代码的执行,同样能够承受一个数字参数,指定跳过几层循环,默认是1

switch

match PHP 8

<?php$a = 'cake';$value = match($a) {    'apple' => 'This food is an apple',    'bar' => 'This food is a bar',    'cake' => 'This food is a cake',}var_dump($value);

declare

用来设定一段代码的执行指令

<?phpdeclare(ticks=1); // 形式一// 形式二declare(ticks=1) {    // ...}
  1. Ticks

    Tick(时钟周期)是一个在 declare 代码段中解释器每执行 N 条可计时的低级语句就会产生的事件

    <?phpdeclare(ticks=1);function tickHandler(){    echo 'called!' . PHP_EOL;}register_tick_function('tickHandler'); // 注册事件,引起tick事件$a = 1; // 引起tick事件if ($a>0) {    $a += 2; // 引起tick事件}unregister_tick_function('tickHandler'); // 勾销事件
  1. Encoding

    用来指定脚本的编码方式

    <?phpdeclare(encoding='ISO-8895-1')l;
  1. strict_types

    严格模式,开启之后会校验参数类型,不会进行默认转换

    <?phpdeclare(strict_types=1); // 开启严格模式

return

如果以后文件是被include或require的,则管制交回调用文件

如果以后文件是被include的,则return值会被当做incloude调用的返回值

require

出错时产生E_COMPILB_ERROR,导致脚本终止

include

出错时只产生正告,脚本会继续执行

require_once

include_once

goto

只能在同一个文件或左右域内,也就是无奈跳出一个函数或类办法

<?phpstart:echo 'aaa';goto start;

流程管制的代替语法

这种代替语法次要是用在与html混编的时候更不便和更好的可读性

<?php if($a==1): ?><p>One</p><?php elseif($a==2): ?><p>Two</p><?php else: ?><p>Three</p><?php endif; ?>    <?php while(true): ?><p>Four</p><?php endwhile; ?>    <?php for($i=0; $i<3; $i++): ?><p>Five</p><?php endfor; ?>    <?php foreach($a as $k=>$v): ?><p>Six</p><?php endforeach; ?>    <?php switch($a): ?><?php case 'a': ?><p>Seven</p><?php default: ?><p>Eight</p><?php endswitch; ?>