PHP的变量定义和使用(2-1)

PHP使用变量或常量来实现数据在内存中的存储。变量和常量可以视为存储数据的容器,变量存储的数据在程序执行期间可以被程序所改变,而常量存储的数据是一个固定的值,不能改变

一、变量

在程序执行期间可以变化,用于临时存储值的容器

1、变量命名规范

  • 必须以美元符号($)开头
  • 必须字母或下划线开头,后跟任意数量的字母、数字或下划线。
  • 美元符后不能紧跟数字
  • 严格区分大小写,$name$Name是不同的变量

    内置结构(例if/else)、关键字(static)和用户自定义的类名、函数名不区分

  • 可以不声明直接使用

    在PHP中不需要使用显式的语法来专门声明变量,变量会在首次赋值时被初始化,也就是说设置一个变量的值,该语句即同时声明了变量。

常用的命名模式:小驼峰$firstName 或大驼峰$FirstName或下划线$first_name 打印变量

$name = 'Bob';
$Name = 'Joe';    //变量名区分大小写,$name和$Name是不同的变量

$4site = 'not yet';     // 非法变量名;以数字开头
$_4site = 'not yet';    // 合法变量名;以下划线开头
$i站点is = 'mansikka';  // 合法变量名;可以用中文,但是尽量不要这么用,会出现各种莫名其妙的问题
"可变变量"

允许我们动态地改变一个变量的名称。这个特性的工作原理是用一个变量的值作为另一个变量的名称

$name = 'jack';
$$name = '聂哥';
echo $name,$jack;
//$jack 等价 $$name

PHP使用赋值运算符=给变量赋值,它提供了两种赋值方式:传值赋值和引用赋值

1、传值赋值

$a  = "str";//定义一个变量
$b = $a;   //赋值给$b

将变量$a的值复制出一份新的值(值是一样的),只是在内存中出现两份不同的内存空间。

2、引用赋值

除了传值赋值之外,PHP还提供了另外一个给变量赋值的方式,叫引用赋值。它是将变量的引用复制出来一份(新的引用还是指向原来的值),可以用不同的名字访问或操作同一个变量的内容,当改变其中一个变量的值时,另一个变量也跟着变化,引用赋值使用&符号

$a  = "str";
$b = &$a;

使用引用,PHP引擎不会拷贝一份变量,而是将指针指向了$a在内存中的地址,$b中就是保存了这个指针。

unset 只会删除变量引用关系。并不会清空变量值对应的内存空间

未被初始化的变量

未被初始化的变量具有其类型的默认值。布尔类型的变量默认值是false,整型和浮点型变量默认为零,字符串类型变量默认值是空字符串,数组变量的默认值是空数组。

虽然在PHP并不需要初始化变量,但对变量进行初始化是一个良好的编程习惯。用户可以用PHP的isset()函数来检查一个变量是否被初始化。

Posted on Categories PHP Tags