php函数

php函数和JScript的函数大同小异,这里主要强调一下不同之处。

函数的定义:function函数名(形参类表){

        函数体

}

函数的调用:函数名(实参类表)

在php里函数可以先调用然后再写函数的定义的代码,因为脚本的在执行之前会进行一次预编译,预编译后函数的定义代码已经放置在内存中的用户代码区,而执行的时候,直接在用户代码区里找。

可变函数

指函数名也可以用一个变量来代替!可变函数常用于一组功能比较类似,而且函数名也比较类似的情况。

形参和实参

形式参数parameter:是在定义函数的时候规定的,但是这里的参数只是一个形式,默认是没有值的。

实际参数argument:是在调用函数的时候需要把实际的值(实参)传递给该函数的形参,这个时候,函数的形参才有真正的数据!

参数的引用传递:需要在传递的时候加上求地址运算符&,&应该放在形参前面;

形参的默认值:可以给它一个默认值,参数的默认值,应该是一个确定的直接值,不能是一个变量或其他函数返回值!也不能是参与运算的值!如果实参有传值给形参,那么就会覆盖形参的值,变成                      实参的值。

下面的函数可以接收到参数的所有值:

func_get_args():调用该函数的时候,可以得到一个索引数组,里面的元素是当前函数接收到的所有的实参的值!

func_get_arg() : 获得某个参数的值,使用参数的索引位置来表示,从0开始,比如func_get_arg(1)

func_num_args() :获得实参的数量!

变量的作用域:

局部作用域在一个函数内部定义的变量,其作用范围就是局部作用域,该变量也叫作局部变量!

全局作用域在函数外部定义的变量,其作用范围就是全局作用域,该变量也叫作全局变量,但是PHP中的全局作用域与JS中的全局作用域是不一样的!

全局作用域与局部作用域互不干涉,不能相互访问!

每个函数也都有自己的局部作用域,函数直接的变量也无法互相访问!

所以就要用到超全局变量了

超全局变量

$GLOBALS['变量名']=‘变量值’

超全局变量是系统定义好的,作用范围是全局,变量的类型是数组类型。

$GLOBALS数组的每一个元素,都与当前的每一个全局变量是一一对应的,也就是说,每当用户创建一个全局变量,都会自动的在$GLOBALS数组里面增加一个元素,其中元素的键(索引值)就是全局变量的名字,元素的值就是全局变量的值!每当增加一个$GLOBALS数组的一个元素,就会自动的创建一个全局变量!


php也有运算符除了常见的这里介绍其他的运算符

clone:克隆一个对象

new:是实例化一个对象

@:错误抑制符,抑制系统错误信息!很多时候,我们要抑制系统的错误信息,因为不友好,然后再加上一些用户的友好的提示信息!

instanceof:也是和面向对象相关的,作用是判断一个对象是否为一个类的实例!

php入门part3的更多相关文章

  1. django官方文档学习-入门part3创建用户视图

    一.官方的约定: 1.在django中有一个约定.那就是每一个app自己的模板最好放在自己app目录下的templates子目录下. 但是这个还没有完成.最好还是在templates目录下加一个app ...

  2. maven入门-- part3 生命周期

    简介: Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是: Clean Lifecycle 在进行真正的构建之前进行一些清理工作. Default ...

  3. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  4. 【PyTorch深度学习60分钟快速入门 】Part3:神经网络

      神经网络可以通过使用torch.nn包来构建. 既然你已经了解了autograd,而nn依赖于autograd来定义模型并对其求微分.一个nn.Module包含多个网络层,以及一个返回输出的方法f ...

  5. django入门-视图-part3

    尊重作者的劳动,转载请注明作者及原文地址 http://www.cnblogs.com/txwsqk/p/6511384.html 完全翻译自官方文档 https://docs.djangoproje ...

  6. C语言编程入门之--第五章C语言基本运算和表达式-part3

    5.3  挑几个运算符来讲 常用的运算符除了加减乘除(+-*/)外,还有如下: 注意:以下运算符之间用逗号隔开,C语言中也有逗号运算符,这里不讲逗号运算符. 1. 赋值运算符 =,+=,*= 2. 一 ...

  7. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  8. [EntLib]微软企业库5.0 学习之路——第一步、基本入门

    话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...

  9. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

随机推荐

  1. nginx做nodejs(express等通用)反向代理

    首先配置环境nginx+nodejs...(没有请看我的其他文章,此处不重复) cd 到nginx的site-available目录 ubuntu的在 cd /etc/nginx/site-avail ...

  2. php性能优化实用技巧:

    以下是五个优化技巧,熟练掌握后对于开发还是很有帮助的. 1. 对字符串使用单引号 PHP 引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉 PHP 引擎首先 ...

  3. zenefits oa - random(5) to generate a random(7)

    If given a function that generates a random number from 1 to 5, how do you use this function to gene ...

  4. HDU 5015

    http://acm.hdu.edu.cn/showproblem.php?pid=5015 矩阵是表示状态转移的利器 这题m很大,n非常小,所以开始的思考角度是能否从当前列推出下一列.有了这个角度, ...

  5. New Training Table

          2014_8_15 CodeForces 261 DIV2 A. Pashmak and Garden 简单题   B. Pashmak and Flowers    简单题   C. P ...

  6. 支持coclock模式

    1. /mediatek/custom/htt82_tb_jb5/cgen/cfgdefault/CFG_GPS_Default.h GPS Coclk: 0xFE (enable) 0xFF (di ...

  7. Course Schedule

    There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...

  8. 在Visual Lisp中处理自动化错误

    Handling Automation errors in Visual LISP 翻译自原文Kean's blog:http://through-the-interface.typepad.com/ ...

  9. IO流一行一行读取TXT文件

    我们在开发或者测试的时候,往往会用到读取本地txt文件内容来处理数据的情况.下面是读取本地txt文件内容,是一行一行读取.如下列txt例子 小明 20 小红 20 小亮 20 下面是代码: publi ...

  10. apache https 伪静态

    今天很是郁闷,配置了一个https成功了,但是伪静态不成功,经过多方面查看资料终于配置成功了: <VirtualHost *:443> DocumentRoot /var/www/juba ...