《细说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语言结 ...
随机推荐
- 【转】关于python中re模块split方法的使用
注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...
- <span>什么意思
<span> 在CSS定义中属于一个行内元素,在行内定义一个区域,也就是一行内可以被 <span> 划分成好几个区域,从而实现某种特定效果. <span> 本身没有 ...
- js判断移动端与pc端
这里介绍下使用device.js插件来判断移动端设备 地址:https://github.com/matthewhudson/device.js 示例: if(device.mobile()){ wi ...
- CSS倒影
前面的话 CSS倒影目前只有chrome和safari浏览器支持,且需要添加-webkit-前缀.本文将详细介绍CSS倒影box-reflect 语法 -webkit-box-reflect 初始 ...
- Redmine插件及使用
Plugins Plugin list A full list of available Redmine plugins can be found at the Plugin Directory. M ...
- 转载--初识绘图工具plantUML
原文出处:http://www.jianshu.com/p/e92a52770832 什么是 PlantUML PlantUML 是一个画图脚本语言,用它可以快速地画出: 时序图 流程图 用例图 状态 ...
- 如何将MongoDB数据库的数据迁移到MySQL数据库中
FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...
- Fedora24 升级到25
1 安装dnf-plugin-system-upgrade dnf install dnf-plugin-system-upgrade 2 更新软件包 dnf system-upgrade downl ...
- 循序渐进看Java web日志跟踪(2)-Java日志API认识
接触过Java的朋友应该都会知道,java的开源框架百花齐放,实现同样的功能,总能找到几个强大的开源框架来进行选择.在日志方面,Java同样不逊色.除了JDK本身自带的简单的日志工具,java还有如l ...
- idea不能加载xml