php变量定义规则

  • 变量必须以$符号开头,后面接变量名
  • 变量名必须以字母或者下划线开头
  • 变量名只能包含字母数字和下划线(A-z,0-9和_)
  • 变量名不能包含空格
  • 变量名区分大小写

创建变量

在php中,不必事先声明变量,在给变量赋值的时候被创建

<?php
$txt = 'Hello,world';  //在给文本赋值的时候要加上引号
$x = 5;
$number = 5.5;
?>
  • 1
  • 2
  • 3
  • 4
  • 5

通过上面的变量赋值可以看出,没有对变量声明数据类型,这是因为php是一门弱类型的语言,php会自动把变量转换为正确的数据类型

php变量作用域

变量的作用域是脚本中变量可被引用/使用的范围,共有四种

  • local
  • global
  • static
  • paramter

全局作用域和局部作用域

在所有函数外部定义的变量,拥有全局作用域global;在函数内部定义的变量用于局部作用域local。全局变量可以被脚本的任何位置访问,但在函数内部访问全局变量要使用global关键字。而局部变量只能在函数内部进行访问。

<?php
$x = 2;
function test(){$y = 3;echo $x;echo "<br>";echo $y;echo "<br>";
}
test();
echo $x;
echo "<br>";
echo $y;

上面的代码中,当调用test()函数时,会输出两个变量的值,函数会输出局部变量$y的值,但是不能输出全局变量$x的值。 
而在函数外输出的两个变量的值中,会输出变量$x 的值,但是不能输出$y的值,因为$y 是局部变量,不能在函数外部访问。

函数内部访问全局变量

在函数内部访问全局变量,要使用global关键字

<?php
$x = 1;
function test(){global $x;$y = 2;echo $x+$y;
}
test();  //输出3
?>

static作用域

当一个函数调用完后,它的所有变量都会被删除,如果想要某个局部变量不被删除,那么可以使用static关键字

<?php
function test(){$x = 0;echo $x;$x++;}
test(); //输出0
test(); //输出0
test(); //输出0
?>
<?php
function test(){static $x = 0;echo $x;$x++;}
test(); //输出0
test(); //输出1
test(); //输出2
?>

parameter 参数作用域

参数是通过调用代码将值传递给函数的局部变量,参数是在参数列表中声明的,作为函数声明的一部分。

<?php
function test($x){echo $x;
}
test(1);   //输出1
test(2);   //输出2
?>

php基础--变量及作用域相关推荐

  1. java基础----变量与常量+作用域

    变量的作用域: 变量 类成员变量 static类成员变量 静态成员变量的有效范围可以跨类,甚至可以达到整个应用程序.除了可以在定义它的类内存取该变量,还可以以类名.静态变量名的方式在其他类中使用 实例 ...

  2. shell基础(2):编程基础之变量:全局/局部/环境变量(作用域、定义、操作)、位置参数、数组

    对shell变量有一个系统性的了解 变量的种类:局部.全局.环境变量 变量的定义和操作:赋值.取值.取消变量 特殊变量:位置参数. $? 数组的定义和使用 变量的作用域 文章目录 1. 变量的种类 1 ...

  3. Go基础编程:作用域

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. Go基础编程:作用域11 小弟初学go语言,感觉作用域的运用还是很广泛的,所以就写上一点,也许有的都是很常见的,不过也没 ...

  4. python中变量的作用域有几种_Python中变量的作用域(variable scope)

    http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...

  5. linux中if的作用域,【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域

    语句是指程序命令,都是按照顺序执行的. 语句又分为: 顺序语句:从上到下按顺序执行,挨个执行一遍. 分支语句:选择性执行语句,有的可能会执行,有的可能不执行.满足条件执行. 循环语句: 一.分支语句 ...

  6. 九. Python基础(9)--命名空间, 作用域

    九. Python基础(9)--命名空间, 作用域 1 ● !a 与 not a 注意, C/C++可以用if !a表示if a == 0, 但是Python中只能用if not a来表示同样的意义. ...

  7. javascript基础拾遗——词法作用域

    本来是想写js面向对象笔记(二)关于封装的,但是在敲实例代码的时候,发现对作用域这个东西的概念有点模糊,翻阅了犀牛后,有点感觉了,就想着先记录下此时的感受. 之所以取名叫做词法作用域,是这个概念是js ...

  8. Java新职篇:变量的作用域和生存期

    到目前为止,我们使用的所有变量都是在方法main()的后面被声明.然而,Java允许变量在任何程序块内被声明.在第2章中已解释过了,程序块被包括在一对大括号中.一个程序块定义了一个作用域(scope) ...

  9. 变量的作用域和生存期:_生存分析简介:

    变量的作用域和生存期: In the previous article, I have described the Kaplan-Meier estimator. To give a quick re ...

  10. 【07】JavaScript:05-作用域、变量的作用域、作用域链、预解析、对象

    文章目录 JavaScript基础第05天笔记 1 - 作用域 1.1 作用域概述 1.2 全局作用域 1.3 局部作用域 1.4 JS没有块级作用域 2 - 变量的作用域 3 - 作用域链 4 - ...

最新文章

  1. 怎么装python的keras库_matlab调用keras深度学习模型(环境搭建)
  2. 编程之美-分层遍历二叉树方法整理
  3. linux如何给各节点时间同步,Linux 系统配置各个节点的时间一致性
  4. jQuery对Ajax的封装应用(三)
  5. 又把锅甩给中国!苹果和解给了300多亿,但高通业绩预测并不乐观
  6. Android 学习 笔记_07. XML文件解析
  7. 代码整洁之道读书笔记----第二章---命名--第一节-名副其实
  8. qqkey获取原理_qqkey获取器下载
  9. zuc算法c需语言,ZUC算法原理及实现过程(20200921192330).pdf
  10. 详细设计的工具——PAD图
  11. 数据库学习之num1
  12. 【Python】pywin32实用小记|pywin32操作QQ聊天窗口爆破PS学姐
  13. 酸了!她在MSRA实习短短半年时间内便完成了两篇入选顶级学术会议 AAAI、ACL 的研究...
  14. 3.文件系统组成和基本操作
  15. 2018年Java面试题
  16. ubuntu ibus安装极点五笔
  17. Java 获取当前时间的前几分钟的时间点的方法
  18. 智领科技|150周年新起点,大陆集团中国本地化再升级
  19. 电路原理图逻辑符号的建模
  20. 如何在照片中查找地理位置等信息

热门文章

  1. ghub无法安装_好用了还是更别扭了,简析罗技G HUB驱动程序
  2. matlab gui怎样将结果保存在excel中_声发射简单使用matlab导入参数波形数据并绘图...
  3. OpenCV-图像处理(25、直方图比较)
  4. html h3标签,网站h1,h2,h3标签的用法和技巧
  5. php redis 事务应用,redis事务有什么用
  6. 1万字说清楚Receiver Operating curve(ROC) 受试者操作特征曲线
  7. 风之大陆互通服务器账号,风之大陆有几个服务器?服务器互通吗?
  8. php获取cookie值的方法,怎么获取cookie的值
  9. 自动驾驶 6-4 高级转向控制 - MPC Advanced Steering Control - MPC
  10. 自动驾驶 2-1 传感器和计算硬件 Sensors and Computing Hardware