php 变量

变量的基本使用

  • 定义变量(赋值):直接给变量赋值,就是定义;
    • 不支持js中的那种“定义但不赋值”的语法。
    • 换句话说,第一次给一个变量赋值,就算定义变量。
  • 取值:所有需要一个变量值的语句中,就会取得该变量的值,常见包括:
    • 输出:echi $v1;                             //取得$v1的值,并输出
    • 给其他变量赋值$v2 = $v1;            //取得$v1的值,并赋值给$v2
    • 参与运算:$v3 = $v1 + 3;                    //取得$v1的值,并跟3相加,。。。。
  • 判断变量是否存在isset()
    • 存在,就返回true,不存在就返回false
    • 实际上,如果一个变量的值是null,返回的也是false

 

  • 修改变量值(赋值):
    • 第二次及以后给一个变量赋值,就算修改变量值
  • 删除unset():就是断开变量名跟数据之间的“引用关系”

 

值传递

是指将一个变量的数据值(数据内容)拷贝一份,然后赋值给另一个变量。

代码示例:

 

引用传值:

是指将一个变量的引用关系拷贝一份,然后赋值给另一个变量,即另一个变量也同样由该关系决定了指向某个数据:

代码示例:

 

 

图示如下:

 

 

 

赋值(传值)完之后,两个变量指向同样一个数据。

我们有知道,对变量的操作就是对数据的操作。

则:

对变量v1的操作,改变的数据,也就是体现为v2也发生了改变。

测试:

 

<?php
$v20++;
echo "<br/>v10=$v10,v20=$v20";

 结果为 v10=11,v20=11

 

另外,在这种引用传值的情况下,unset一个变量,则另一个跟它有关(指向同样数据的关系)的变量,并不受影响。

测试:

可变变量

所谓可变变量,就是一个变量的名,又是一个变量。

可变变量的语法是php的很特殊的语法——其他语言中少见。

$v1 = “abc”;         //这是一个字符串变量,其内容是字符串“abc”

$abc = 10;             //这是一个普通变量,其内容是数字10

echo  $$v1;         //此时,就是所谓“可变变量”

怎么理解:

1,凡是$符号出现,就会有可能理解为是一个变量

2,这里第一个“$”出现了,则php就视图将其解释为一个变量,变量名是$v1;

3,我们有知道,$v1的值是”abc”,

4,那么,第一个“$”符号后面的变量名,就得到为“abc”

5,即:echo 试图输出的是变量$abc, 自然是数字10

实际上,理论上,可变变量的嵌套还可以更多,比如:$$$def;

 

posted on 2017-06-25 21:52  huodaihao  阅读(156)  评论(0编辑  收藏  举报

导航