PHP 引用“&“之变量引用,函数引用,对象引用

php引用的含义

对于这个话题?有人肯定会问:什么是PHP引用?

所谓的php引用,引用官方的一句话就是:


在 PHP 中引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针:例如你不能对他们做指针运算,他们并不是实际的内存地址…… 查看引用不是什么了解更多信息。 替代的是,引用是符号表别名。注意在PHP 中,变量名和变量内容是不一样的, 因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的硬链接。 你可以把它看作是变量名前面加上一个”&”符号;

官方地址:http://php.net/manual/zh/language.references.whatare.php

变量的引用

PHP 的引用允许你用两个变量来指向同一个内容

<?php
    $a=10;
    $b=&$a;
    echo $a;
    echo "<br>";
    echo $b;
    echo "<br>";
    $b="hello";
    echo $a;
    echo "<br>";
    echo $b;
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

output:

10
10
hello
hello
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

函数的引用传递(传址调用)

    function test(&$a){
        $a=$a+100;
    }
    $b=1;
    test($b);
    echo $b;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

output:

101
  • 1
  • 1

注意,注意,注意,重要的事情说三遍:函数引用传递的时候,你不能给它传递常量,比如说:1,2,3,4等。原因:PHP规定传递的引用不能为常量;

转载地址: 
http://www.php-note.com/article/detail/245 
http://www.cnblogs.com/thinksasa/p/3334492.html

posted @ 2016-12-18 22:39  天涯海角路  阅读(123)  评论(0)    收藏  举报