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. 洛谷P1197 星球大战【并查集】

    题目:https://www.luogu.org/problemnew/show/P1197 题意:有n个结点m条无向边,k次操作每次摧毁一个结点并询问此时有多少连通块. 思路:平时在线的搞多了都没想 ...

  2. js原生ajax与jquery的ajax的用法区别

    什么是ajax和原理? AJAX 是一种用于创建快速动态网页的技术. 通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据 XMLHttpRequest对象的基本属性: onre ...

  3. 更好的处理 Python 多工程 import 依赖

    话说, 这段时间需要开发一个项目, 新项目对现有的几乎所有项目都有依赖. 豆瓣现存的几个大项目,基本都是围绕豆瓣主站shire的依赖, 也就是说, 其他项目对shire的单项依赖,  这些项目在需要主 ...

  4. 外网可以反问lxr

    , 'baseurl_aliases' => 174       [ 'http://172.168.2.4/lxr' 175       , 'http://mydomain/lxr' 176 ...

  5. 关于要python爬虫你需要的一些网址和信息[待补充]

    phantomjs无头浏览器(基本不用) http://phantomjs.org/download.html 如果报 下面这种错误 [root@hwgz01 ~]# phantomjs phanto ...

  6. Geos判断点是否在多边形内

    使用的geo版本是3.5.1 #include <iostream> #include "geos.h" using namespace std; GeometryFa ...

  7. CodeForces 494B Obsessive String ——(字符串DP+KMP)

    这题的题意就很晦涩.题意是:问有多少种方法,把字符串s划分成不重叠的子串(可以不使用完s的所有字符,但是这些子串必须不重叠),使得t串是所有这些新串的子串.譬如第一个样例,"ababa&qu ...

  8. 营销H5项目-BugList+解决方案+方法

    作者会持续更新,后续会整合SF.gg上 其他小伙伴整理的资料 动态改变微信title var $body = $('body'); document.title = '五班老同学(35)'; var ...

  9. csp-s模拟110

    倒计时三天. 这场又是巨头们的AK场,大众分200+,貌似真实的csps? 然而T1又炸了,$1<<62$暴int,要$1ll<<62$.T2试图打70部分分,T3也只会40分 ...

  10. k8s Ipvs 内部网络自动分配和内部网络一致ip地址,导致ip冲突

    [链接]Linux负载均衡--LVS(IPVS)https://www.jianshu.com/p/36880b085265 [链接]kube-proxyipvsmodecreateunnecessa ...