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 教程
- PHP简介
- PHP安装
- PHP语法
- PHP数据类型
- PHP变量
- PHP运算符
- PHP流程控制
- PHP函数
- PHP类与对象
- PHP字符串
- PHP正则表达示
- PHP文件
- PHP图形图像
- PHPXML
- PHP会话缓存
- PHP异常处理
- PHP数据库
- PHP日期时间戳
- PHP代码风格规范
server 环境
frame 框架
- laravel入门
- dingo入门
- JWT入门
- Laravel框架关键技术解析
- laravel则修笔记
- rpc入门
- rabbitmq入门
- opencc多国语言
- laravel兄弟连笔记
- laravel进阶
case 实例
db 数据库
help
PHP 流程控制的更多相关文章
- 第10章 Shell编程(4)_流程控制
5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...
- Shell命令和流程控制
Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...
- PHP基础知识之流程控制的替代语法
PHP 提供了一些流程控制的替代语法,包括 if,while,for,foreach 和 switch. 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;,e ...
- Python黑帽编程2.4 流程控制
Python黑帽编程2.4 流程控制 本节要介绍的是Python编程中和流程控制有关的关键字和相关内容. 2.4.1 if …..else 先上一段代码: #!/usr/bin/python # - ...
- 使用yield进行异步流程控制
现状 目前我们对异步回调的解决方案有这么几种:回调,deferred/promise和事件触发.回调的方式自不必说,需要硬编码调用,而且有可能会出现复杂的嵌套关系,造成"回调黑洞" ...
- [Java入门笔记] Java语言基础(四):流程控制
流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下几种: 顺序结构 顺序结构,顾名思义,是指程序从上往下逐步顺序执行.中间没有任何的判断和跳转. 分支结构 Java提供两种分支结构: ...
- node基础13:异步流程控制
1.流程控制 因为在node中大部分的api都是异步的,比如说读取文件,如果采用回调函数的形式,很容易造成地狱回调,代码非常不容易进行维护. 因此,为了解决这个问题,有大神写了async这个中间件.极 ...
- Shell入门教程:流程控制(1)命令的结束状态
在Bash Shell中,流程控制命令有2大类:“条件”.“循环”.属于“条件”的有:if.case:属于“循环”的有:for.while.until:命令 select 既属于“条件”,也属于“循环 ...
- Oracle中PL/SQL的执行部分和各种流程控制
Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...
- swift_简单值 | 元祖 | 流程控制 | 字符串 | 集合
//: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...
随机推荐
- ie63像素bug原因及解决办法不使用hack
1.浮动元素后边跟不浮动元素时会产生3像素bug 2.解决办法是不要忘记给浮动元素的相邻元素加上浮动.
- JVM学习02-GC算法与种类
1. GC 简单介绍 GC(Garbage Collection) 是垃圾收集的简写,GC机制是java中一个比較重要的概念.java的内存管理提供了内存的分配和释放.内存处理是程序编写人员非常eas ...
- wifi认证Portal开发系列(二):FreeRadius的安装和测试、关联Mysql
注:本次安装是基于FreeRadius 3版本进行安装配置的,在配置Mysql的过程中,与2版本有些不同.操作系统是CentOS 7 一.准备工作 工具的安装 #安装rz.sz命令用于文件上传 yum ...
- 在PHP中,通过filesize函数可以取得文件的大小,文件大小是以字节数表示的。如果要转换文件大小的单位,可以自己定义函数来实现。
<?php function getsize($size, $format) { $p = 0; if ($format == 'kb') { $p = 1; } elseif ($format ...
- 模式匹配之surf----特征点检测学习_2(surf算法)
在上篇博客特征点检测学习_1(sift算法) 中简单介绍了经典的sift算法,sift算法比较稳定,检测到的特征点也比较多,其最大的确定是计算复杂度较高.后面有不少学者对其进行了改进,其中比较出名的就 ...
- 【Atheros】如何禁用载波侦听CSMA和BACKOFF
无线网络上发包之前都要进行载波侦听,如果未收到ACK,就指数级退避之后重传. 有时候我们为了观察网卡在全力发送数据包时的性能,要禁用CSMA和ACK,这一篇文章先来讨论怎么禁用CSMA,这里提供两种思 ...
- 一种微信直播H5直播与存储回放的HLS摄像机方案
接上篇 在上一篇博客<一种流量成本节省60%以上的手机直播微信直播H5直播幼儿园直播方案>中,我们一共介绍了两种省钱的HLS直播途径: 方案一:编码器或者内网推流直接对接云存储的场景 如果 ...
- ios导航栏问题
http://m.blog.csdn.net/article/details?id=47395605
- Grunt学习笔记【3】---- filter使用方式和实现原理详解
本文主要讲配置任务中的filter,包括使用默认fs.Stats方法名和自定义过滤函数,以及filter的实现原理. 通过设置filter属性可以实现一些特殊处理逻辑.例如:要清理某个文件夹下的所有空 ...
- typescript import 全局node_modules报错
项目里面有一个node_modules的包太大,每次放到docker里面都要下载半天,大大减少了部署效率. 所以考虑将这个node包全局安装到docker的基础镜像中,那么代码里面直接引用全局包就可以 ...