我的php学习第二十六天——流程控制

流程控制

PHP有三种流程控制结构:顺序结构,分支结构,循环结构

默认的,代码的执行结构都是顺序结构。代码一行一行从上往下执行。顺序结构是程序代码的最基本结构。

分支结构:一段代码根据不同的条件执行不同的部分

PHP中有两种基本分支结构:if分支结构,switch分支结构

If分支结构语法

  1. If(条件表达式){

//当条件表达式返回结果为true的时候,执行里面的语句块

//语句块

}

//如果条件表达式返回结果为false则不执行语句块

以上被称之为最简分支结构

笔记3759

  1. 标准if结构

If(条件表达式){

//if语句块

}else{

//else语句块

}

笔记3808

  1. 复杂if结构

If(条件表达式1){

//if语句

}else if(条件表达式2){

//else if语句

}…{

 

}else{

//else语句块

}

笔记3893

If分支结构原理

笔记3904

在PHP中允许else if和elseif两种语法。两种语法得到的结果完全一致。但是实现原理不同。

Else if:一次只有两个结果,向下的其他比较都是在false之后再次产生,类似二叉树

Elseif:产生一个平行结构,一个多节点的树状结构。

 

Switch分支结构

语法

Switch($falg){

Case 1:

//语句

Break;

Case 2:

//语句

Break;

Default:

//语句

Break;

}

结构和运行原理

笔记4147

什么时候使用if结构,什么时候使用switch结构?

大部分的情况下都可以使用。通常会这样来区分使用:

  1. 如果条件是需要判断大小或者范围的,使用if分支结构
  2. 如果条件是规定具体值的,那么使用switch
  3. 不推荐在switch中使用条件判断(比较表达式)

注意:凡是能使用switch的都可以使用if来解决,但是不见得所有if能实现的switch都可以做到。如果switch中case对应的条件是个比较表达式的话,有可能出问题。

循环结构

某一段代码需要重复执行

电脑要知道什么时候结束执行,否则会一直执行下去,死循环。

注意:写任何循环结构的时候都要保证循环不会出现死循环。

PHP提供了多种循环

For,while,do-while,foreach

For循环:知道具体循环次数

For(初始条件;条件范围;条件变更){

//循环体

}

笔记4526

While循环:只要满足条件,就可以无限循环

语法:

While(条件表达式){

//循环体

//循环变量的变化

}

笔记4591

Do-while循环:先执行循环体再判断循环条件

语法:

Do{

//循环体

//循环条件变更

}while(条件表达式);

笔记4591

While和do-while的区别:do-while一定会执行一次循环体,而while不一定

笔记4709

Foreach:PHP中专门用来遍历数组(关联数组),后面讲数组的时候再讲。

For模拟while

笔记4763

模板语法

标签语法,因为PHP是需要嵌入到html代码中

<?php  for($i=0;$i<10;$i++){ ?>

<tr><td><?php echo $i;?></td></tr>

<?php }?>

为了解决在html语言中出现这种大括号分开写,不美观的情况,可以使用标签语法替代

标签语法:在大括号开始“{”的时候使用冒号“:”替代,在大括号结束的地方使用end+标签+分号“;”

If(){

}

标签语法

If() :

Endif;

For循环

For():

Endfor;

While循环

While():

Endwhile;

Foreach循环

Foreach():

Endforeach;

使用见代码demo06.php

 

函数

什么是函数?某一段常用的代码块的集合,在使用的时候只需要去调用这个代码块的“入口”,函数名即可。

为什么使用函数?

  1. 代码的重复利用
  2. 模块化编程

函数分为两种:系统函数和自定义函数

系统函数:系统为开发人员定义的函数,只需要开发人员调用即可。

自定义函数:开发人员自己定义函数,调用前需要先定义函数。

自定义函数

语法:

function 函数名(参数列表){

函数体;

Return返回值

}

自定义函数的几个要素:函数名,函数体,返回值

笔记5323

如何调用函数?

跟调用系统函数一样

语法:函数名(参数列表);

笔记5358

函数到底是如何被执行的?

笔记5374

函数的调用与函数的定义顺序没有关系,可以在定义函数之前调用函数,前提是彼此都在同一个脚本。

原因何在?

笔记5429

函数的参数:形式参数和实际参数

形式参数:定义函数的时候所使用的参数就称之为形式参数,形式参数没有实际值

实际参数:在调用函数的时候传递给形式参数的参数叫做实际参数

笔记5515

代码

笔记5520

函数参数的传递

值传递:拷贝复制,重新开辟内存空间

引用传递:直接传递地址,指向同一个内存空间

函数默认使用的都是值传递,把实际传入的参数的值复制并赋值给形式参数。

但是也可以改变函数的参数方式变成引用传递。

语法

在定义函数的时候,将形式参数添加一个&符号

Function test(&$name){

//在这里对$name进行操作,也就是对外部传入的变量进行操作

}

调用:与普通调用一样

引用传值原理

笔记5732

代码

笔记5738

作用域

笔记5745

什么是作用域?一个变量能够被识别的范围。

PHP中有两个作用域:全局作用域,局部作用域

笔记5792

Js中也有两个作用域:全局作用域,局部作用域

笔记5818

如何在函数内部使用全局变量呢?

PHP提供了一种机制去在函数内部调用全局变量

$GLOBALS[‘全局变量名’]

原理:

$GLOBALS会在用户定义全局变量的时候,将变量名和值保存到$GLOBALS数组中,其中变量名对应键名(数组下标),值对应数组的值。

又因为$GLOBALS是超全局变量,所以可以在任何地方使用。

$GLOBALS保存的全局变量的引用,$GLOBALS[‘变量名’] === 变量名

笔记6027

Global 全局变量名

在函数内部建立一个全局变量

笔记6069

global原理

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/2125.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2017年5月3日 00:40
下一篇 2017年5月3日 09:47

相关推荐

  • 详解PHP中被忽略的性能优化利器:生成器

    如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有…

    2022年6月20日
    0112
  • 解决PHP处理Ajax请求与Ajax跨域问题

    PHP判断是否为Ajax请求我们知道,在发送ajax请求的时候,可以通过XMLHttpRequest这个对象,创建自定义的header头信息, 在jquery框架中,对于通过它的$.ajax, $.get, 或者$.post方法请求网页内容时,它会向服务器传…

    2022年6月15日
    0159
  • PHP入门指南:Linux服务器。

    作为一名开发人员,了解使用不同的编程语言以及对应的工具是必不可少的。PHP作为一种主流的编程语言,被广泛应用于Web应用开发,其应用范围涉及整个互联网。在此,我们将介绍如何在Linux服务器上,学习和使用PHP语…

    2023年5月23日
    01
  • (实用篇)php精确的统计在线人数的方法

    这是一个非常精确的,通过php实现统计在线人数的方法,想知道怎么实现的请耐心阅读。 <?php $filename='online.txt';//数据文件 $cookiename='VGOTCN_OnLineCount';//cookie名称 $onlinetime=600;//在线有效时间…

    2016年10月25日
    0233
  • php技术的图像压缩处理类

    因为主流的编程思想是:OOP面向对象编程,文件的最新单位是类 思考: 有哪些属性: 原图文件 压缩文件保存的地址 有哪些成员方法: 制作压缩图像的方法

    2018年9月11日 PHP案例操作
    0195
  • 两步操作杜绝他人镜像你的网站技术分享

    大家在建站过程中是否遇到自己经营了几年的网站,突然被别人镜像了,然后百度一搜,发现好多个和你的网站一模一样的网站,今天就来说下《如何杜绝他人镜像你的网站》 第一步: 在网站header.php文件head里面添加下…

    2018年1月2日
    0315
  • php基本语法-流程控制

    流程的控制其实就是代码执行顺序的控制 1、顺序结构 表示代码从上至下逐行执行 2、分支结构 1)if 语法: if(条件表达式){         执行语句; } 2)if else 语法: if(条件表达式){         执行语句块1; }else{   …

    2017年9月25日 PHP自学教程
    0295
  • PHP实现邮件发送状态的实时查询功能。

    PHP实现邮件发送状态的实时查询功能随着电子邮件的广泛普及,邮件发送已经成为日常工作中不可或缺的一个环节。但是,由于网络问题、邮件服务器故障等原因,有时候邮件发送会失败。当邮件发送失败时,我们常常需要查…

    2023年5月23日
    02

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息