一、php变量的传值方式
①、赋值传值
使用一个a为另一个变量b赋值时,传递的是a的值,这种传值方式就是引用传值。如下图所示:
299.png

②、引用传值
使用一个变量a为另一个变量b赋值时,传递的是变量a的地址,这种方式就是赋值传递,不过要是用“&”符号。
300.png

引用传值的内存原理如图所示:
301.png
提示:js中不允许人为的更改传值方式,但是php中可以使用地址符‘&’,来将赋值传值,更改为引用传值。
二、常量
1、概念
常量就是一中特殊的变量,也是用于存储数据。常量一旦被定义就不允许修改其值,常量本身也不允许删除
2、定义
①、语法1:
define(‘常量名’,值);
如图:
302.png
数组的话会报错:
303.png

常量的值只能为标量,但是不可以为数组等非标量
②、语法2:
const 常量名=值;
如图:
304.png
说明:常量一旦被定义就不允许修改。
常量的值只能是基本数据类型(标量数据类型)即数值型、字符型、布尔型
常量默认是区分大小写,一般命名时,全部使用大写的形式
define区分大小写如图:
307.png
当将define的第三个参数设置为true时,就不会再去区分大小写,如图:
308.png
③、define和const的区别:
define的语法可以在分支结构中定义常量,但是const不允许,如下图:
305.png

306.png
三、常量的判断以及获取所有常量
①、defined(判断的常量名);
如图:
309.png
②、获取所有的常量
函数:get_defined_constants();
如图:
310.png
③、通过获取到的常量,可以查看显示的常量的值,如下:
311.png
四、魔术常量
php中定义了一组魔术常量
__FILE__(前后都是两个_)    用于获取文件名完整路径以及文件名
__DIR__(前后都是两个_)    用于获取当前文件路径
__LINE__(前后都是两个_)    用于获取当前行号
__FUNCTION__(前后都是两个_)    用于获取当前函数名
__METHOD__(前后都是两个_)    用于获取当前方法名
__CLASS__(前后都是两个_)    用于获取当前类名
__NAMESPACE__(前后都是两个_)    用于获取当前空间的空间名
示例如下:
312.png