php学习之 认清变量的作用范围
任务2:认清变量的作用范围
⚑局部变量与全局变量
变量的存在有着它的生命周期,我们可以让它存在于一个小的函数内部,也可让它存在于整个程序当中。对于一般情况下声明的变量,我们称之为局部变量,只能在当前程序段中存在,而使用$globals声明出来的变量则是在当前页面整个程序当中都会有效。
<?php
$a=1;
$b=2;
function sum()
{$a;
$b;
$b=$a+$b;
}
sum();
echo$b;
?>
在这段程序当中,
第2至3行,我们建立了两个变量a和b并分别给其赋值为1和2。
第3行至第7行,我们定义了一个自加的函数sum(),其作用是让sum内部的变量a和b进行相加,并将加得的值赋给b。
第8行,调用sum函数。
第9行,用echo将b的值输出。
可能有人会认为此时在网页上输出的值一定是3,但是运行后你会发现,值还是为2,也就是b原先的值。这就是局部变量的原因造成的,在第2至3行当中声明的变量无法在sum()函数中使用,也就是说,sum函数中使用的a和b和第2至3行中a和b只是名字相同,但两者之间毫无关系。所以,在最终输出的b也就是第3行b的值了。
<?php
$a=1;
$b=2;
function sum()
{
global $a,$b;
$b=$a+$b;
}
sum();
echo $b;
?>
我们发现,在sum函数中,我们给变量a和b加上了一个global修饰符,这个时候,a和b就和函数外的a和b建立上了关系,它们就是同一个变量了。因此,这个程序在运行的时候,其结果就为3了。因此,我们在声明全局变量时,只需在局部使用它们时(本例中是在函数sum中),给它们加上一个修饰符global,它们就可以继承外部的值,也就不再是局部变量了。
相关推荐
-
php学习之 认清变量的作用范围
任务2:认清变量的作用范围 ⚑局部变量与全局变量 变量的存在有着它的生命周期,我们可以让它存在于一个小的函数内部,也可让它存在于整个程序当中.对于一般情况下声明的变量,我们称之为局部变量,只能在当前程序段中存在,而使用$globals声明出来的变量则是在当前页面整个程序当中都会有效. 例: 复制代码 代码如下: <?php $a=1; $b=2; function sum() {$a; $b; $b=$a+$b; } sum(); echo$b; ?> 在这段程序当中, 第2至3行,我们建立了
-
原生javascript 学习之js变量全面了解
1.变量的命名 方法的命名(驼峰命名法) 全部小写 : 单词与单词之间全部下划线 (my_namespace) 大小写混合 : 第一个单词首字母小写其他单词首字母大写. 规则 首字符 英文字母或下划线 组成 英文字母 数字 下划线 禁忌 JavaScript 关键字 保留字 2. 变量的声明 显示声明 : var 关键字 陋习 : 没有类型 重复声明 隐式声明 不声明直接赋值 正解 : 先声明 后读写 先赋值 后运算 3. 变量类型 值类型 A) 占
-
PHP变量的作用范围实例讲解
目录 局部变量 全局变量 在函数中使用函数全局变量? 静态变量 局部变量 在函数内部定义的变量 变量的作用范围就是这个函数. 案例 <?php function test(){ $a=10; echo $a; } test(); echo "<hr />"; echo $a; ?> 案例结果 全局变量 在php 脚本中,函数外部定义的变量 变量的作用域为整个PHP 脚本. 案例 <?php $a=10; function test(){ echo $a;
-
Flutter入门学习Dart语言变量及基本使用概念
目录 正文 变量 变量的声明赋值 变量的划分 默认值 变量的类型推断修饰符 Late变量 类型判断is和类型转换as 一些重要概念 空安全和可空类型? 表达式和语句 注释 DartPad 正文 Dart是Google发布的开源编程语言,是一种面向对象的语言.其主要应用是Flutter框架开发(Android.IOS),此外,也可以用在服务器.脚本.Web开发中.随着Flutter3.0开始支持全平台开发,Dart也可以实现桌面应用. 关于Dart的介绍不再细说.下面开始Dart的使用介绍 首先记
-
PHP学习之PHP变量
PHP变量 PHP3支持下面类型的变量: (一).内部变量 主要有整数(interger),浮点数(float-point numbers),字符串(string),数组(array),对象(object). 1 初始化变量 要在PHP中初始化变量, 你只要简单的给它赋值即可.对于大多数类型,这是最直接的.对于数组和对象,可以使用其它方法. 2 初始化数组 数组可以使用这两种方法之一来赋值: 使用一系列连续数值,或使用array()函数构造 (见 Array functions 部分). 要将连
-
javascript权威指南 学习笔记之变量作用域分享
不知道,大家对语言中变量的"声明"与"定义"是怎么理解的, 我的理解如下: "声明"变量,只是仅仅声明,而"定义"变量,指声明了,并且赋值了. 例如: 复制代码 代码如下: var name;//只是声明 var num = 11;//声明,并且赋值,即定义了 var password = "yangjiang";//声明,并且赋值,即定义了 下面是几点总结: 变量的作用域:全局的和局部的.(注意:如果尝试
-
JavaScript 学习笔记之变量及其作用域
一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符. 定义:var firstDemo; 二.变量的作用域 2.1基本概念 使用var 定义变量:定义该变量的作用域的局部变量,这种定义变量的方法也被成为显式声明. 这么说不理解的话可以看看下面这个简单粗暴的例子: 复制代码 代码如下: test(); function test(){ var firstDemo="hello";//定义局部变量
-
Python学习笔记之变量、自定义函数用法示例
本文实例讲述了Python变量.自定义函数用法.分享给大家供大家参考,具体如下: 不管你学什么编程语言 都逃不出如下套路: 1.怎么定义变量?是否有数据类型,怎么在控制台输出? 2.怎么定义函数?定义类?面向对象的写法是怎样的? 3.如何调用外部类或函数? 4.如何读写文件?网络编程? 5.如何与数据库交互? 6.如何和各种第三方库交互? 7.有什么好用的框架? 变量 name="jack" #定义变量 print(name) #打印变量 #也可以单引号 name='jack' #单引
-
和孩子一起学习python之变量命名规则
变量命名规则 下面是关于变量名(也称为标识符)的一些规则 必须以一个字母或一个下划线字符开头.后面可以使用一个字母.数字或下划线字符的序列,长度不限. 字母可以是大写或小写,大小写是不同的.也就是说,Ax不同于aX. 数字可以是从0到9(包括0到9)的任意数字字符. 除了字母.数字和下划线字符,不能使用其他字符.空格.标点符号和其他字符在变量名中都是不允许的. 唯一允许出现的特殊字符是下划线字符.也许你不知道这是什么,下面给出几个例子: First_number=15 Student_name=
-
C++ Primer学习记录之变量
目录 一.类型说明符 二.变量名 三.初始化 总结 变量的定义形式一般为:类型说明符,变量名和初始化, 一.类型说明符 类型说明符一般就是常用的int,double,char等系统自带的类型关键字和自定义的类. 二.变量名 变量名一般由英文字母(小写).数字.下划线(_)组成,其中数字不能作为变量名的第一位. int a; //合法 int _; //合法 int 8; //不合法,数字不能单独作变量名 int _8; //合法 int a8_; //合法 int a_8; //合法 int _
随机推荐
- Lua读取和写入文件处理例子
- DB2数据同步方面的经验
- Sql Server中Substring函数的用法实例解析
- php+redis实现多台服务器内网存储session并读取示例
- IOS自带Email的两种方法实例详解
- php学习笔记 [预定义数组(超全局数组)]
- php查询mysql数据库并将结果保存到数组的方法
- 中文输入法不触发onkeyup事件的解决办法
- MySQL抛出Incorrect string value异常分析
- CentOS下redis自启动shell脚本
- javascript中this做事件参数相关问题解答
- C语言编程入门之程序头文件的简要解析
- Javascript入门学习第八篇 js dom节点属性说明第1/2页
- VBScript 常用函数总结
- C#采用OpenXml实现给word文档添加文字
- LAMP环境使用Composer安装Laravel的方法
- Linux 内核空间与用户空间实现与分析
- 深入理解Spring中的循环依赖
- Spring Boot 从静态json文件中读取数据所需字段
- Spring Boot右键maven build成功但是直接运行main方法出错的解决方案