# 流程控制的替代语法

PHP 提供了一些流程控制的替代语法。下面是 `if` 的替代语法。

```php
<?php

$foo = 'foo';
if (isset($foo)) :
    //
endif;

```

替代语法同样可以用在 `else` 中，下面是一个包括 `else` 的 `if` 结构用替代语法格式写的例子。

```php
<?php

$foo = 'foo';
if (isset($foo)) :
    //
else :
    //
endif;

```

替代语法同样可以用在 `elseif` 中，下面是一个包括 `elseif` 的 `if` 结构用替代语法格式写的例子。

```php
<?php

$baz = 'baz';
if (isset($foo)) :
    //
elseif (isset($bar)) :
    //
elseif (isset($baz)) :
    //
endif;

```

`while` 的替代语法。

```php
<?php

$foo = 1;
while ($foo < 10) :
    $foo++;
endwhile;

```

`for` 的替代语法。

```php
<?php

for ($i = 1; $i < 10; $i++) :
    //
endfor;

```

`foreach` 的替代语法。

```php
<?php

$foo = [2, 4, 5];
foreach ($foo as $value) :
    //
endforeach;

```

`switch` 的替代语法。

```php
<?php

$foo = 'foo';
switch ($foo) :
    case 0:
        var_dump(0);
        break;
    case 'foo':
        var_dump('foo');
        break;
    default:
        break;
endswitch;
// int(0)

```

