写在前面:

  变量可以形象的解释为信息的容器(存信息的东西)。比如说$x=8,相当于把8给放到x里面,以后操作$x的时候就相当于操作8 》5+$x结果为13

----------------------------------------------------------------------------------------------------

PHP中的变量命名规则:

  由两部分组成:美元符号$变量名

    其中变量名的要求是:1.不能以数字开头

              2.以字母下划线开头

              3.变量中只能包含字母数字下划线(a-z,A-Z,0-9,_)

              4.第一节语法讲过的,变量名对大小写敏感(或叫区分大小写),即$a和$A是两个不同的变量

PHP没有定义变量的关键字去限定变量的类型,想定义变量直接就是美元符号加变量名=变量值,变量值部分,数字直接写,字符串加引号,系统会根据变量值自动定义变量的类型

限定变量作用域的关键字:

1.在不加限定作用域关键字时,区分一个变量是全局变量还是局部变量是根据该变量所在的位置函数外面声明的变量为全局变量函数内部声明的变量为局部变量局部变量好理解就是只有在该函数内部用,这里的全局变量也只是函数外的全局,对函数内部没有影响

2.从1可以看出,可以在不同的函数中声明相同的变量名,因为函数内不加关键字的变量只对该函数内部有用

*.默认情况下如果显性的给出变量前面限定关键字,则全局变量默认有个隐含的global,局部变量默认有个隐含的local

上面的1,2讲的都是隐式的情况,那限定作用范围的关键字,到底什么时候用呢?

  global:在函数中的变量要引用函数外的变量(全局变量),即在函数中放一个全局变量,这种情况下,函数里面的变量要写成  global $变量名 的形式,

  static:

    前提:一般情况下,函数执行完成后,里面的变量也随之被删除

    在知道上一行前提的情况下,在函数执行完成后,还想保留函数里面的变量,这时用static $变量名

    举例:函数a()里面是这么写的

      static b=1;

      echo "$b";

      b++;

    第一次执行a()时,echo的是1,第二次调用a()的时候echo的是2,第三次调用a()的时候echo的是3,也就是说在这个函数中,b这个变量总是上一次值行完函数后的最新值,而不是初始的1,关于static还有一点就是:它修饰的变量依然是局部变量

PHP-变量(www.w3school.com.cn/php)的更多相关文章

  1. 关于JavaScript lastIndexOf() 方法 w3school.com.cn写的不一定全对

    关于JavaScript lastIndexOf() 方法 w3school.com.cn的表述是 定义和用法 lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的 ...

  2. HTML URL 编码:请参阅:http://www.w3school.com.cn/tags/html_ref_urlencode.html

    http://www.w3school.com.cn/tags/html_ref_urlencode.html

  3. input输入框的readonly属性-----http://www.w3school.com.cn/tags/tag_input.asp

    http://www.w3school.com.cn/tags/tag_input.asp input输入框的readonly属性 查询方法: 1.先找官方的文档,api 2.官方的有看不懂的再百度相 ...

  4. scrapy研究探索(二)——爬w3school.com.cn

    下午被一个问题困扰了好一阵.终于使用还有一种方式解决. 開始教程二.关于Scrapy安装.介绍等请移步至教程(一)(http://blog.csdn.net/u012150179/article/de ...

  5. PHP-语法(www.w3school.com.cn/php)

    写在前面: 假设系统里已安装PHP软件 PHP是一种脚本语言,执行PHP脚本后向浏览器返回纯HTML语言(即后台将.php文件的执行结果以纯HTML的形式返回到前端) ---------------- ...

  6. MVC学习-http://www.w3school.com.cn/

    连接字符串: <add name="MovieDBContext" connectionString="Data Source=|DataDirectory|\Mo ...

  7. Xml的一些基本概念(摘抄自w3school.com.cn)

    一个Xml的文档示例: 点击查看代码 <?xml version="1.0" encoding="ISO-8859-1"?> <note> ...

  8. js基础篇——变量

    a.变量类型 变量类型 构造函数 举例 类型检测typeof 字符串 function String() var t = "chua"; var m = new String(&q ...

  9. javascirpt对象运用与JS变量

    abcdefghijklmnopqrstuvwyz String 对象方法 charAt() 方法可返回指定位置的字符.stringObject.charAt(index)(index从0开始)[ht ...

随机推荐

  1. 虎扯:纯css3各方向小三角的制作原理分析

    入驻博客园两个月之后的第一篇随笔,希望能够做到三个原则: One:不浪费自己的时间, Tow:不浪费读者的时间, 第三就是希望有缘的朋友们多多指教,共度前端快乐的大坑!!! 咱们今天来做一个居家旅行必 ...

  2. 转 C#中静态方法与非静态方法区别比较

    C#静态方法与非静态方法的区别不仅仅是概念上的,那么他们有什么具体的区别呢?让我们通过本文向你做一下解析. C#的类中可以包含两种方法:C#静态方法与非静态方法.那么他们的定义有什么不同呢?他们在使用 ...

  3. SET QUOTED_IDENTIFIER (Transact-SQL)

    使 SQL Server 遵从关于引号分隔标识符和文字字符串的 ISO 规则. 由双引号分隔的标识符可以是 Transact-SQL 保留关键字,也可以包含 Transact-SQL 标识符语法约定通 ...

  4. oracle习题SQL语句练习

    表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno Varchar2(3) 否 学号(主码) Sname Varchar2(8) 否 学生姓名 Ssex Varchar2( ...

  5. 基础知识——Cocos2d-x学习历程(三)

    1.场景与流程控制 我们把一些内容相对不变的游戏元素集合称作场景(scene),把游戏在场景之间切换的过程叫做流程控制(flow control). 在Cocos2d-x中,场景的实现是Scene. ...

  6. 堆分配与栈分配---SAP C++电面(5)/FEI

    一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况. 从上 ...

  7. BZOJ 4197: [Noi2015]寿司晚宴( dp )

    N^0.5以内的质数只有8个, dp(i, j, k)表示用了前i个大质数(>N^0.5), 2人选的质数(<=N^0.5)集合分别为j, k时的方案数. 转移时考虑当前的大质数p是给哪个 ...

  8. [C#参考]事件机制

    还是那个项目,为了降低程序的耦合性,我决定小小的重构一下自己原来的代码,把Socket通信和帧的分析这两部分分别封装成一个类,当然线程没有变,只是封装了一下,为的就是模块测试完容易拼接.这也是我打算降 ...

  9. 5.7.2.4 random() 方法

    Math.random()方法返回大于等于0小于1的一个随机数.对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件.套用下面的公式,就可以利用Math.random() ...

  10. nodejs事件机制

    var EventEmitter = function() { this.evts = {}; }; EventEmitter.prototype = { constructor: EventEmit ...