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. VSCode:使用GIT

    准备:安装GIT.安装VSCode.GitHub上添加 1.初始化 新建本地文件xmai # 全局配置加上命令--global ,如果只想在本文件夹则去掉此参数即可: > git init &g ...

  2. 深入理解Java输入输出流

    Java.io包的File类,File类用于目录和文件的创建.删除.遍历等操作,但不能用于文件的读写. Java 对文件的写入和读取涉及到流的概念,写入为输出流,读取为输入流.如何理解流的概念呢?可以 ...

  3. [Luogu] 家族

    https://www.luogu.org/problemnew/show/1767 字符串的读入有点麻烦 #include <cstdio> #include <cstring&g ...

  4. [Luogu] 染色

    https://www.luogu.org/problemnew/show/P2486 qizha 为什么会wa #include <cstdio> #include <cmath& ...

  5. [USACO5.5] 矩形周长Picture

    https://www.luogu.org/problemnew/show/P1856 1.每个矩形由两条横向边和两条纵向边组成. 2.对于横向边,按纵坐标排序.设当前讨论的边为 A [s , t] ...

  6. SpringAOP配置与使用(示例)

    1.pom.xml追加 spring-aspects aspectjrt 为控制器以外的类织入切面 2.新建spring-aop.xml <?xml version="1.0" ...

  7. 3.5寸1.44M软盘结构

    结构: 划分: 簇:磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位.在磁盘上,DOS操作系统是以“簇”为单位为文件分配磁盘空间的.硬盘的簇通常为多个扇区,与磁盘的种类.DOS 版本及硬盘分区的大小 ...

  8. Spring Cloud Eureka(五):Eureka Server 启动流程分析

    启用EurekaServer @SpringBootApplication @EnableEurekaServer public class EurekaApplication { public st ...

  9. css定位中的百分比

    ----转载自自己在牛人部落中的相关文章--- 在前端css定位中经常面对的一个问题是,百分比定位究竟是针对于谁定位? 一.margin,padding的百分比 首先从css的设计意图说起,在浏览器默 ...

  10. 数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别

    1.脏读  脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据. 当一个事务正在多次修改某个数据,而在这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据,就会造成两个事务得到的 ...