PHP 流程控制

Posted 衿华客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 流程控制相关的知识,希望对你有一定的参考价值。

流程控制


if, else, elseif

$a = 5;
$b = 9;

if ($a > $b):
    echo "a is bigger than b";
elseif ($a == $b):
    echo "a is equal to b";
else:
    echo "a is smaller than b";
endif;


if ($a > $b) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}

while

while (expr)
    statement

while (expr):
    statement
    ...
endwhile;

do-while

<?php
$i = 0;
do {
   echo $i;
} while ($i > 0);
?>

for

for 循环是 PHP 中最复杂的循环结构。

for (expr1; expr2; expr3)
    statement

for (expr1; expr2; expr3):
    statement;
    ...
endfor;

foreach

foreach 语法结构提供了遍历数组的简单方式。

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

用 list() 给嵌套的数组解包

<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b)) {
    // $a contains the first element of the nested array,
    // and $b contains the second element.
    echo "A: $a; B: $b\n";
}
?>

break

break 结束当前 for,foreach,while,do-while 或者 switch 结构的执行。

break 可以接受一个可选的数字参数来决定跳出几重循环。

continue

continue 在循环结构用用来跳过本次循环中剩余的代码并在条件求值为真时开始执行下一次循环。

continue 接受一个可选的数字参数来决定跳过几重循环到循环结尾。默认值是 1,即跳到当前循环末尾。

switch

switch 语句类似于具有同一个表达式的一系列 if 语句。

<?php
if ($i == 0) {
    echo "i equals 0";
} elseif ($i == 1) {
    echo "i equals 1";
} elseif ($i == 2) {
    echo "i equals 2";
}

switch ($i) {
    case 0:
        echo "i equals 0";
        break;
    case 1:
        echo "i equals 1";
        break;
    case 2:
        echo "i equals 2";
        break;
}
?>

require, include

require 和 include 几乎完全一样,除了处理失败的方式不同之外。

require 在出错时产生 E_COMPILE_ERROR 级别的错误。 换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。

require_once, include_once

require_once 语句和 require 语句完全相同,

唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。

php如何编写分支语句

#语法
if(条件){
条件为true时执行此代码
}elseif(condition){
条件为true时执行此代码
}else{
条件为false时执行此代码
}
#分支语句实例
$t = date("H");
if($t<"10"){
echo "Have a good morning!";
}elseif($t<"20"){
echo "Have a good day!";
}else{
echo "Have a good night!";
}

php如何编写循环语句

  • while
while (条件为真) {
  要执行的代码;
}       
#例子,while是先判断后执行,变量是控制器一定要注意改变。
$myvar = 10;
while($myvar>0){
    echo $myvar;
    $myvar--;
}
  • do...while
#do...while(称为当次循环,先执行后判断)
$myvar = 10;
do{
    echo $myvar;
    $myvar--;
}while($myvar>0);
  • for
#for语句是非常经典的        
for($i=0;$i<10;$i++){
    echo $myvar;
}
  • foreach
#foreach适用于数组
$colors = array("reb","green","blue","yellow");
foreach($colors as $key => $value){
    echo $value;
}

php如何编写跳转语句

  • continue跳过当次循环
  • break跳出循环
  • goto跳转语句
goto mylabel;
echo "Hello World!";
mylabel:
echo "Moments";  

php如何编写递归语句

#将字符串进行倒排输出    
$myvar = "abcd";
function reverse($myvar, $flag=-1){
    if($flag<strlen($myvar)-1){
        $flag++;
        $myvar = reverse(substr($myvar,0,$flag).substr($myvar,strlen($myvar)-1).substr($myvar,$flag,strlen($myvar)-1-$flag), $flag);
    }
    return $myvar;
}
echo reverse($myvar);  

php如何编写异常处理语句

  • 简单的die()语句
$conn = mysql_connect("localhost","root","123456") or die("Error"); 
  • error_reporting() 设置 PHP 的报错级别并返回当前级别。
//不报告所有错误
error_reporting(~E_ALL);
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
  • 异常处理
try{
    //可能出现错误或异常的代码
    //catch 捕获  Exception是php已定义好的异常类
} catch(Exception $e){
    echo $e->getMessage();
    //对异常处理,方法:
        //1、自己处理
        //2、不处理,将其再次抛出
}

 

衿华客

php 教程

  1. PHP简介
  2. PHP安装
  3. PHP语法
  4. PHP数据类型
  5. PHP变量
  6. PHP运算符
  7. PHP流程控制
  8. PHP函数
  9. PHP类与对象
  10. PHP字符串
  11. PHP正则表达示
  12. PHP文件
  13. PHP图形图像
  14. PHPXML
  15. PHP会话缓存
  16. PHP异常处理
  17. PHP数据库
  18. PHP日期时间戳
  19. PHP代码风格规范

server 环境

  1. ubuntu入门
  2. docker入门
  3. git入门

frame 框架

  1. laravel入门
  2. dingo入门
  3. JWT入门
  4. Laravel框架关键技术解析
  5. laravel则修笔记
  6. rpc入门
  7. rabbitmq入门
  8. opencc多国语言

case 实例

  1. php面试题笔记
  2. python图标提取
  3. 字幕乱码问题

db 数据库

  1. elasticsearch入门
  2. 数据库操作
  3. redis入门

help

以上是关于PHP 流程控制的主要内容,如果未能解决你的问题,请参考以下文章

php流程控制

php流程控制

3.php流程控制

PHP流程控制 - if 语句

php三大流程控制总结

Laravel:如何在控制器的几种方法中重用代码片段