1. 云栖社区>
  2. PHP教程>
  3. 正文

php变量引用赋值一些知识

作者:用户 来源:互联网 时间:2017-12-01 18:51:05

php引用变量赋值知识一些

php变量引用赋值一些知识 - 摘要: 本文讲的是php变量引用赋值一些知识, 手册上的解释是:简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。 我理解决引用相当一个人取了两个名字,无论叫个名字都是这个人。 以下两例子结果都在一样的。删除或修改都会影响到另外一个

手册上的解释是:简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。
我理解决引用相当一个人取了两个名字,无论叫个名字都是这个人。
以下两例子结果都在一样的。删除或修改都会影响到另外一个变量的值。

<?php$foo = 'Bob';              //'Bob' 赋给 $foo$bar = &$foo;              // 通过 $bar 引用 $foo$bar = "My name is $bar";  // 修改 $bar 变量echo $bar;echo $foo;                 // $foo 的值也被修改?><?php$foo = 'Bob';              //'Bob' 赋给 $foo$bar = &$foo;              // 通过 $bar 引用 $foo$foo = "My name is $bar";  // 修改 $foo 变量echo $bar,"/n";echo $foo;                 // $foo 的值也被修改?>

删除引用时,无论是删除ba结果都没会影响到另一个变量。只是相当于删除一个名称,不会影响到变量本身。

<?php$a = 0;$b = &$a;  //  echo $a; //0   // unset($b); // unset $b    unset($a); // unset $b    echo $b; //0 it's OK

当一个变量先后引用两个变量时,把第一次引用的变量,修改成第二次引用的变量。第一次引用没有关系,互相不会影响。

<?php$a = "hihaha";$b = &$a;$c = "eita";$b = &$c;echo $b; // shows "hihaha"

函数的传址调用传址调用,执行完,相当于直接改变引用的变量。这里bb的变量内容所处的内存地址,通过在函数里改变a b的值了

function test( &$a ){  $a += 10;  return $a;}$b = 1;test($b);echo $b;//输出11

函数的引用返回

function &test2(){    $b  = 0;//申明一个静态变量    $b  =   $b+1;    return $b;}$a = test2();//这条语句会输出 $b的值 为1var_dump($a);$a = test2();//这条语句会输出 $b的值 为2var_dump($a);$a = & test2();//这条语句会输出 $b的值 为3var_dump($a);$a = 5;$a = test2();//这条语句会输出 $b的值 为6var_dump($a);

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 引用 , 变量 , 赋值 , 知识 一些 ,以便于您获取更多的相关知识。