2.1含义与定义形式

就是使用一个“标记符号”(标识符),来代表某个数据。
类比:
用一个名字(姓名),来代表某个人。
用一个身份证号码,来代表某个人。。。
用一个变量,就可以理解为“使用一个数据”。
既然是变量,就是该数据时可以改变的一种数据。
对应常量:就是一种不可以(不允许)改变的数据。
定义形式:  $变量名  =  具体的数据;
 
特别注意:变量名区分大小写!!!!!!
 
 
举例:
$v1 = 123;             //这里的等于号(=),不是数学上的等于(相等),而是“赋值”的意思。
//其本质含义是:将123这个数据,放到v1这个变量中去。
 
变量的另一个角度理解:
变量是一个“容器”,是一个“盒子”,是一个可以存放数据的位置——内存空间。
也可以这样去理解:
内存(条)中分割出很多很多的小格子,每个格子都有一个编号地址(所谓内存地址)。
其中存储了数据的格子上有一定的标记名(变量名),并存放了对应的数据。
图示如下:
对应代码如下:
$a = 200;
$b = 100;
其中,“0xA01”,“0xA02”代表内存地址。内存地址其实是我们看不到的,由系统分配。

2.2 变量的命名规则

2.2.1. 基本规则(明规则)
 
就是给一个变量命名的时候,要遵循的规则。
1,构成:字母、数字、下划线;
2,开头:字母或下划线;
3,注意:变量名不要跟系统中的“关键字”(即语法所用单词)重复——关键字不多,也就几十个。
 
后续,我们还会学到另外一些语言或场合下有关命名的规则,其规则,跟上述几乎差不多!
2.2.2. 行业规则(潜规则)
通常,尽量将变量命名为“见名知意”。
尽量用更容易理解的单词(或拼音)去表示一个数据,很多时候可以使用“多个单词(拼音)”。
比如:
ChildAge,   YungerAge,  ParentHouse,  MyParentHouse,  MyParentHousePrice
此时,通常有两个行业中的惯例规则:
 
骆驼命名法(小驼峰命名法):第一个单词首字母小写,其余单词首字母大写。
childAge,   yungerAge,  parentHouse,  myParentHouse,  myParentHousePrice
 
帕斯卡命名法(大驼峰命名法):所有单词都首字母大写。
ChildAge,   YungerAge,  ParentHouse,  MyParentHouse,  MyParentHousePrice

2.3. 变量的4种操作

2.3.1. 赋值——常见操作
将一个数据(值)放入一个变量中。
$name  =  “张三丰”;
几乎所有变量要想后续正常使用,第一件事就是“赋值”。
变量初始赋值后,可以后续再去重新赋值——这就是修改了变量的值,比如:
$name  =  “张三不疯”;
变量赋值的本质是:将变量名,跟一个数据“建立关联(联系)”,图示如下:
此时,对该变量的操作,也就是对该内存地址上的数据的操作。
 
2.3.2. 取值——常见操作
取值,就是,从变量这个容器中拿到其中存储的数据(值);
取值无处不在:凡是使用到变量,并在该位置上,需要一个“数据”的时候,就会发生取值操作
 
2.3.3. 判断变量isset()
就是判断一个“变量名”是否里面存储了数据!
判断的结果是:true(真,表示有),或者false(假,表示没有)。
使用这个语法来判断:isset( $变量名 );
 
还有一个特殊的赋值,赋值后,变量中也没有数据,如下:
$v5 = null;            //null是一个特殊的“数据”(值),该数据的含义是:没有数据。
即此时判断  isset($v5)的结果是“false”。
 
2.3.4. 删除/销毁变量unset()
当一个变量中存储了数据,我们也可以去销毁(删除)它,语法如下:
unset( $变量名 )。
删除变量的本质是:断开变量名跟其关联过的那个数据之间的“联系”,图示如下:

2.4

2.5

2.6

2、PHP变量的更多相关文章

  1. 6 小时 Python 入门

    6 小时 Python 入门 以下操作均在 Windows 环境下进行操作,先说明一下哈 一.安装 Python 1.官网下载 Python 进入官网(https://www.python.org), ...

  2. In-Memory:在内存中创建临时表和表变量

    在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...

  3. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  4. Shell特殊变量

    $ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数 ...

  5. Java多线程基础——对象及变量并发访问

    在开发多线程程序时,如果每个多线程处理的事情都不一样,每个线程都互不相关,这样开发的过程就非常轻松.但是很多时候,多线程程序是需要同时访问同一个对象,或者变量的.这样,一个对象同时被多个线程访问,会出 ...

  6. Js 变量声明提升和函数声明提升

    Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){ ...

  7. PHP源码分析-变量

    1. 变量的三要素变量名称,变量类型,变量值 那么在PHP用户态下变量类型都有哪些,如下: // Zend/zend.h #define IS_NULL 0 #define IS_LONG 1 #de ...

  8. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  9. shell变量

    定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...

  10. 引人瞩目的 CSS 变量(CSS Variable)

    这是一个令人激动的革新. CSS 变量,顾名思义,也就是由网页的作者或用户定义的实体,用来指定文档中的特定变量. 更准确的说法,应该称之为 CSS 自定义属性 ,不过下文为了好理解都称之为 CSS 变 ...

随机推荐

  1. spark job分析

    spark job spark job提交 三级调度框架, DagSch,计算stage,提交阶段,将stage映射成taskset,提交taskset给tasksch. TaskSch Backen ...

  2. PageHelper使用中出现的问题

    PageHelper在分页查询的时候功能强大,内部使用拦截器实现.这边文章做了详细的介绍. https://www.cnblogs.com/ljdblog/p/6725094.html https:/ ...

  3. C语言学习系列(六)基本语法

    一.C运算符 算术运算符(语法和java类似或基本一样略过不再描述) 关系运算符(略) 逻辑运算符(略) 位运算符 运算符 描述 实例 & 如果同时存在于两个操作数中,二进制 AND 运算符复 ...

  4. trie上构建后缀数组

    例题: 往事太多,有时候忘了就忘了吧. 如果有非记不可的,就只能用点附加手段啦! 我们定义一棵往事树是一个 n 个点 n-1 条边的有向无环图,点编号为 1到 n,其中 1 号点被称为是根结点,除根结 ...

  5. vs2015 调试 无法启动程序

    应用程序输出在这个目录 E:\learn\3dlesson\lesson1_createwindow\build\Debug 项目属性 解决方案: 把项目设为启动项目.

  6. 【java中的final关键字】

    转自:https://www.cnblogs.com/xiaoxi/p/6392154.html 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量 ...

  7. Leetcode题目337:打家劫舍 III(树形DP-中等)

    题目描述: 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为“根”. 除了“根”之外,每栋房子有且只有一个“父“房子与之相连.一番侦察之后,聪明 ...

  8. Linux rpm 安装MySQL

    1 检查是否存在旧版本mysql (1) mysql 执行命令:rpm -qa|grep mysql,若存在旧mysql,删除查询到的旧mysql,执行: rpm -e --nodeps XXXX  ...

  9. Flutter移动电商实战 --(33)列表页_子类和商品列表交互效果

    主要实现点击小类下面的列表跟着切换 获取右侧下面的列表信息,即要传递大类的id也要传递小类的,所以需要把左侧的大类的id也要Provide化 可以看下网站上的接口说明: https://jspang. ...

  10. SPSS python教程:[1]安装Python Essentials

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...