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& ...
随机推荐
- webpack3.0 环境搭建
额.备份一下总是好的 #为了避免某些国外镜像源安装失败,先设置淘宝镜像代理 yarn config set registry https://registry.npm.taobao.org # 初始化 ...
- inflate, findViewById与setContentView的差别与联系
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV ...
- POJ 2155 Matrix(二维树状数组,绝对具体)
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 20599 Accepted: 7673 Descripti ...
- Android推断是否有sd卡
推断手机上是否有SD卡存在.作为经常用法,写到工具类里,用时直接调用.代码例如以下: public static boolean hasSdcard(){ String state = Environ ...
- MySQL常见的数据类型(八)
不多说,直接上干货! MySQL常见的数据类型 一.数据类型是什么? 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 有一些数据是要存储为数字 ...
- ios math.h 常用数学函数
1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 double as ...
- MySQL 忘记密码解决办法
第一步: 关闭MySQL服务. 第二步: 打开DOS窗口,在里面输入安装MqSQL的目录本机为:C:\Program Files\MySQL\MySQL Server 5.6\bin 第三步: 在命 ...
- what is spring and what is spring for
1 what is spring spring是一个轻量级的容器. 它使用依赖注入技术来构建耦合性很低的系统. 2 what is spring for 用于系统的依赖解耦合.在一个系统中,A类依赖 ...
- 题解 P1095 【守望者的逃离】
贪心.数组都不用开那种. 考虑跑步距离的构成.发现跑步只有三种情况构成 休息 传送 朴素地跑 显然,如果可以传送,我们就不要朴素地跑步.因为\(17\le 60 \div 2 =30\). 假如我们知 ...
- 关于调用notifyDataSetChanged刷新PullToRefreshListView列表无反应解决办法
文章转载自:关于调用notifyDataSetChanged刷新PullToRefreshListView列表无反应解决办法 | TeachCourse