《细说PHP》的php语言结构
6.1流程控制
顺序结构 语句按照出现的先后次序自上而下依次执行
分支结构 先做判断再做选择
6.3.4 特殊的流程控制语句
break语句结束当前for、foreach、while、do-while、switch结构循环的执行
continue语句作用是跳过该次循环,继续执行下一次循环结构
exit语句作用是直接退出当前脚本
6.4 PHP中的函数
函数的调用 在需要使用函数的位置,使用函数名称和参数列表进行调用,执行完毕后返回调用位置继续向下执行
函数的返回值是函数执行后的结果返回给调用者
return语句可以向函数调用者返回函数体中任意确定的值,将程序控制权反回到调用者的作用域,即退出函数
如果要返回多个值,可以将多个值添加到一个数组中,然后返回这个数组
6.4.4 PHP变量的范围
局部变量 其作用域仅限于函数内部。不仅在函数中声明的变量是局部的,函数参数在函数名后面的括号内声明也是局部变量,当函数执行完毕后,函数内部的变量都被释放。如果在函数外部需要使用该变量值时,必须通过return语句
全局变量 作用域从变量定义开始,到本程序文件末尾
注意:在PHP函数中无法直接调用全局变量,若要使用全局变量,必须通过global关键字定义目标变量,以告诉函数此变量为全局变量。
还可以在PHP中使用预定义的全局变量数组$GLOBALS
局部变量可分为动态存储类型(默认)和静态存储类型(函数执行完毕后,内部变量依旧保存在内存中)
6.4.5 参数的传递
PHP中参数默认是按值传递,即使在函数内部改变参数的值,他并不会改变函数外部的值
按引用传递是把该数值或变量的内存储存区块相对地址导入函数之中,因此当该数值在函数中有任何变动时,会连带对父程序造成影响。可以在函数定义中在参数前预先加上&
6.4.6 变量函数
将函数名赋给变量,在程序中使用变量名并在后面加上圆括号时就调用那个函数执行
《细说PHP》的php语言结构的更多相关文章
- 漫谈C语言结构体struct、公用体union空间占用
先用代码说话: #include<stdio.h> union union_data0{ int a ;//本身占用4个字节 char b ;//本身占用1个字节 int c ; }; u ...
- 解析C语言结构体对齐(内存对齐问题)
C语言结构体对齐也是老生常谈的话题了.基本上是面试题的必考题.内容虽然很基础,但一不小心就会弄错.写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的 ...
- 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符
[源码下载] 不可或缺 Windows Native (8) - C 语言: 结构体,共用体,枚举,类型定义符 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 结构体 ...
- (转)PHP的语言结构和函数的区别
相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($user) ) { //do some thi ...
- php入门 数据类型 运算符 语言结构语句 函数 类与面向对象
php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...
- Go语言结构体(struct)
Go 语言结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型. 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合. 结构体表示一项记录,比如保存图 ...
- C语言结构体定义的几种方法
什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据 ...
- 对嵌入式开发C语言结构体的一点总结
今天冬至居然不上班,公司的良心啊!这回有心情写博客和日志了,好了,废话不多说.直接看下文: 鉴于嵌入式开发过程中,C语言结构体的使用当然是必不可少.话说,基础什么的比你会更牛逼的算法更重要,基础不牢, ...
- C语言结构体变量私有化
操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 问题描述 C语言结构体定义中的变量默认是公有(Public)属性,如果实现成员变量的私有(Private)化? 解决方案 ...
- 在C语言结构体中添加成员函数
我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结 ...
随机推荐
- C# 关于委托的小例子
本例子是一个关于委托的小例子[猫叫,狗跳,人喊]. 委托是C#开发中一个非常重要的概念,理解起来也和常规的方法不同,但一旦理解清楚,就可以信手拈来,随处可用. 委托是对方法的抽象.它存储的就是一系列具 ...
- C#开发学习——web服务器端控件
Asp.net在客户端开发和web开发所用到的控件还是有很大的差别的,而且Web开发的界面是在浏览器中显示的,所以控件的设计都和前边学习HTML设计有联系,没有客户端开发那么简单,不过我们可以 ...
- Jersey中的常用注解总结
@GET:该注解标记的方法表明用于处理GET请求,GET方法是幂等且安全的. @POST:该注解标记的方法表明处理POST请求,POST方法表明是一种创建操作的方法,POST方法是一种写操作的HTTP ...
- CentOS 6.5安装之后的网络配置
CentOS 6.5安装之后的网络配置 1.查看IP地址,得到只有一个回环地址 127.0.0.1 2.进行网络测试,现在来测试下,看能不能ping通外网www.baidu.com 下面的是,关于pi ...
- 2. SpringMVC 上传文件操作
1.创建java web项目:SpringMVCUploadDownFile 2.在项目的WebRoot下的WEB-INF的lib包下添加如下jar文件 com.springsource.com.mc ...
- JSTL标签库--核心标签库
->JSTL的使用和EL表达式是分不开的 ->JSTL标签库分为5类 1.核心标签库(这里只介绍该标签库) 2.I18N格式化标签库 3.SQL标签库 4.XML标签库 5.函数标签库 - ...
- MyBatis 学习-动态 SQL 篇
MyBatis 为我们提供了如下几个动态 SQL 元素: if choose foreach where/set trim 一.IF 元素 <select id="selectProj ...
- cocoaPods安装成功终端代码(期间报error: RPC failed; result=56, HTTP code = 200)
Last login: Sat Oct 15 23:30:24 on ttys002 Sivek_lindeMacBook-Pro:~ Sivek_lin$ sudo gem update --sys ...
- redisTemplate keys方法 为空
我遇到的原因是spring.xml配置有问题,应该为: <bean id="redisTemplate" class="org.springframework.da ...
- vim 撤销 恢复 快捷键
u 撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作