写在前面:

  变量可以形象的解释为信息的容器(存信息的东西)。比如说$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. 一个神奇的bug

    在使用touch命令创建了一个swift文件后,如果用xcode打开该文件,然后输入 #!/usr/bin/env xcrun swift 接着你就会发现,xcode崩溃了.

  2. 使用 Eclipse Memory Analyzer 进行堆转储文件分析

    Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的 JAVA 堆转储文件分析工具,可 ...

  3. oracle超过最大游标数异常分析(转贴)

    问题描述 Oracle 使用 OPEN_CURSORS 参数指定一个会话一次最多可以打开的游标的数量.超过此数量时,Oracle 将报告 ORA-01000 错误.当此错误传播到 WebLogic S ...

  4. C#中var关键字【转】

    [转]http://blog.csdn.net/courageously/article/details/5695626 var关键字是C# 3.0开始新增的特性,称为推断类型 . 可以赋予局部变量推 ...

  5. 让EF支持sql语句

    BaseDal类: public class BaseDal : IDisposable { #region 事件 internal Func<bool> DBCommitting; in ...

  6. DLL导出函数和类 之 __declspec(dllexport)

    可利用__declspec(dllexport)导出函数或类. 若要指定C类型约定导出,则需在前面加extern “C”. 若要导出函数,__declspec(dllexport) 关键字必须出现在调 ...

  7. .Net 数组去除重复项

    string str = "1/1/12/13/15/16/15//"; ] { '/' }, StringSplitOptions.RemoveEmptyEntries); Li ...

  8. .cs文件与aspx.cs文件之间的区别是什么???他们的作用是什么???ASPX文件的作用是什么?

    一般在vs里面新建一个页面会产生两种文件:一种是后缀名为.cs的,一种是.aspx. 简单的说,.cs文件一般是在里面实现功能的,而.aspx就是实现界面效果的. 区别:.cs文件里面写的是.net的 ...

  9. JS 代码调试经验总结(菜鸟必读)

    前言:不知不觉写了很多,希望你能耐心看完这篇文章 任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作.一般来说调试程序是在编写代码之后或测试期修改Bug 时进行的 ...

  10. USACO Section 4.2 The Perfect Stall(二分图匹配)

    二分图的最大匹配.我是用最大流求解.加个源点s和汇点t:s和每只cow.每个stall和t 连一条容量为1有向边,每只cow和stall(that the cow is willing to prod ...