PHP中的变量

来源:互联网 发布:JAVA绘制窗体 编辑:程序博客网 时间:2024/05/16 23:38

变量是存储内容的别称,就像人名是人的代称一样,PHP中的变量用来指代数值、字符串、数组等,它的命名要遵守一定的规则:

PHP变量命名规则:

  1. 变量要以美元符号$开头,如$abc=2;定义一个变量abc
  2. 变量的名称必须以字母或者下划线开头,不能以数字开头,如$nba=2;$_a=3;分别定义两个变量并给予赋值
  3. 变量名称只允许包含字母、数字和下划线,其他任何字符都不合法,如不能这样定义$*ac#=2;这是错误的
  4. 就像上一篇说的,PHP变量对大小写敏感

PHP是一门弱类型语言,在PHP中,变量不需要创建,也不需要指定变量的类型,可以直接被赋值,PHP会根据所赋的值决定来自行决定它的类型,如:

<?php//定义变量a并赋值1,此时$a即为整型变量$a=1;//再将'abc'赋值给a,此时a即为字符串类型$a='abc';?>
PHP变量的作用域分为三种:

  1. 局部作用域:函数内定义的变量拥有局部作用域,只能在函数内部进行访问
  2. 全局作用域global:函数之外定义的变量拥有全局作用域,在函数以外的任何地方都可以访问,同时PHP在名为$GLOGBALS的数组中存储了所有的全局变量,数组的键名即为变量的名称,键值即为变量的值
  3. 静态static:一般在某一函数执行完后回自动删除函数定义的所有变量,但当我们不想删除函数中的某一变量时,只需在定义变量时加上static关键字
例子如下:

<?php$a=1;//此处定义的变量a拥有全局属性function local(){$a=3;//此处定义的变量a拥有局部属性echo 'a的值为:'.$a;}local();//执行函数,输出结果:a的值为:3ehco '此时a的值为:'.$a;//输出结果:此时a的值为:1?>
但当我们要在函数内访问全局变量时要怎么办呢?不用担心,PHP给我们提供了解决办法,只需在函数中用global关键字即可申明变量是全局的,也可以通过全局变量数组$GLOBALS来访问

<?php$a=10;function test(){global $a;echo $a;//输出变量a的值$a=12;//给a重新赋值12}test();//此时输出10echo $a;//此时输出12?>
关键词static的使用:

<?php function test(){static $x=1;//定义静态变量x,并赋值1$y=1;//定义普通变量y,并赋值1echo '第'.$x.'次调用函数时,x的值为:'.$x.'<==>'.'y的值为:'.$y.'<br/>';$x++;$y++;}test();//第一次调用函数test();//第二次调用函数test();//第三次调用函数test();//第四次调用函数 ?>






0 0