写在前面:

  变量可以形象的解释为信息的容器(存信息的东西)。比如说$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. C++与AS3

    ActionScript 3(简称AS3)与 c++ 都是面向对象的编程(OOP)语言,都具有OOP的特性如封装.继承.多态等.二者在语法上有许多相似之处,基本上学过C++之后再学习AS3感觉并不是特 ...

  2. Dyanmics CRM您无法登陆系统。原因可能是您的用户记录或所属的业务部门在Microoft Dynamics CRM中已被禁用

    当在操作CRM时,做不论什么的写操作包含创建数据.更新数据.都会提示以下截图中的错误:"您无法登陆系统.原因可能是您的用户记录或所属的业务部门在Microoft Dynamics CRM中已 ...

  3. 【Cocos2d TestCpp实例模仿一】-- ActionsTest

    转载请注明出处:http://blog.csdn.net/oyangyufu/article/details/25252539 CCActionInterval(持续性动作) 位置性变化动作以To结束 ...

  4. 错误:类Byte是公共的,应在名为Byte.java 的文件中声明public class Byte{}一个错误

      解决:文件名是xyz,那你的这个类名也应该是xyz.

  5. SQL serve创建与调用存储过程

    (1)创建 2编写存储过程(创建传参的存储过程)存储过程语法网络上很多不在累述 语法解析 Use Person 指定在那个数据库下建立存储过程 if (object_id('MyFunction', ...

  6. ViEmu for VS2013-3.2.1 破解(转)

    ViEmuVS2013-3.2.1 破解   VS升级到2013后,作为一个Vimer,自然需要更新最新的ViEmu插件,因为现在离了Vim,写代码已经寸步难行了. ViEmu 3.2.1的破解其实和 ...

  7. Class类对象的三种实例化方法

    class X { } public class GetClassDemo01 {     public static void main(String[] args) {         X x = ...

  8. SSE && WebSockets

    SSE && WebSockets 参考 http://www.bitscn.com/school/HTMLCSS/201402/194940.html WebSockets 定义了一 ...

  9. Struts2 一张图片引发的bug

    今天如常的打开项目开放.写了一会保存测试.在登录时出了个错误当不影响正常使用.丫的昨天还好好的.行下手上的工作 开始找bug 错误核心代码如下: 10:34:46,442  WARN OgnlValu ...

  10. 在CI框架下执行存储的方法

    我直接把代码摆在这里分享哈 <?php /** * * Created by JetBrains PhpStorm. * User: lsl * Date: 14-1-8 * Time: 下午2 ...