php函数按地址传递参数(php引用)

php函数按地址传递参数(php引用)

一、总结

1、php引用:php引用和c++一样,都是在变量前加&(取地址符号)

2、php函数按地址传递参数:php函数按地址传递参数(php引用)也和c++一模一样,都是在函数的形参前面加上&

3、php语法:php的超多语法和c++一样,不熟悉的位置用C++试试就好

二、PHP 函数的引用传递(地址传递&)问题

PHP 中的引用

在PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。在 PHP 中引用意味着用不同的名字访问同一个变量内容。最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的 hardlink。

举个例子:

  1. $a = "nowamagic";  
  2. $b =$a;  
  3. echo $b.$a;  

这意味着 $a 和 $b 指向了同一个变量。同一个变量内容有不同的变量名,引用就是这么个回事。

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

我们先来一个函数引用传递问题:

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

答案是 101 ;

函数 test() 直接拿变量的地址作为参数……然后将变量的值+100. test($b) 这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值就可以改变$b的值了。

原文地址:https://www.cnblogs.com/Renyi-Fan/p/8995869.html