php传值赋值和引用赋值的区别(php传值和传引用区别)

发布时间:2022-11-13

本文目录一览:

  1. php中传值与传引用的区别?
  2. php语言中传值赋值和引用赋值的区别笔记
  3. 请说明php中传值与传引用的区别.什么时候传值什么
  4. PHP对象赋值给变量的两种方式的区别,一般赋值和引用赋值
  5. php值传递和引用传递
  6. 详解PHP变量传值赋值和引用赋值变量销毁

php中传值与传引用的区别?

  • 传值要重新构造一份原参数的拷贝。
  • 传引用则不需要。
  • 传值对参数的修改不会改变原参数。
  • 传引用时可以直接修改原参数。 至于什么时候传引用,这看你的需要:
  • 如果你的参数对象比较大(占用内存很多),而函数本身不需要修改原对象时,这个时候就推荐传引用,可以省去临时对象的构造开销。
  • 如果有实际修改原参数的需要,那么就只能传引用了。

php语言中传值赋值和引用赋值的区别笔记

传值赋值:

  • 变量表:放变量名,指向它们各自的位置(盒子)。
  • 位置(盒子):存放值和类型。
$a1 = 234;
$a2 = 34556;
$a1 = $a2;
var_dump($a1, $a2);
$a2 = 'nongjiale.fun';
var_dump($a1, $a2);

引用赋值:

  • 使用取地址符 &
  • 变量名同时指向同一个位置(盒子)。
  • $y1 的地址赋值给 $y2
$y1 = 23;
$y2 = 433;
var_dump($y1, $y2); // 输出 int 23 int 433
$y2 = $y1;
$y2 = 'mudidi.tech';
var_dump($y1, $y2); // 输出 string 'mudidi.tech' string 'mudidi.tech'

请说明php中传值与传引用的区别.什么时候传值什么

  • 传值:是把实参的值赋值给行参,对行参的修改不会影响实参的值。
  • 传引用:真正的以地址的方式传递参数,行参和实参都是同一个对象,对行参的修改将影响实参的值。

值传递:

  • 仅将对象的值传递给目标对象,相当于 copy
  • 系统将为目标对象重新开辟一个完全相同的内存空间。

引用:

  • 将对象在内存中的地址传递给目标对象。
  • 目标对象和原始对象对应同一个内存存储空间。
  • 对目标对象进行修改,内存中的数据也会改变。

PHP对象赋值给变量的两种方式的区别,一般赋值和引用赋值

把变量存储值当成文件存储内容来理解:

  • 普通赋值:相当于文件复制。
  • 引用赋值:相当于建立快捷方式。

php值传递和引用传递

值传递:

  • 是将右边变量的数据值本身,拷贝一份,赋值给左边变量。
  • 例如:值传递之后,两个变量互不影响,改变一个,另一个不受影响。

引用传递:

  • 是将右边变量对数据的引用关系,传给左边的变量。
  • 后一个变量的值,会随着前一个变量的值的改变而改变。

详解PHP变量传值赋值和引用赋值变量销毁

示例代码:

$a = 100;
$b = 200;
var_dump($a, $b); // int(100) int(200)

传值赋值:

$a = 100;
$b = 200;
$a = $b; // 传值赋值
var_dump($a, $b); // int(200) int(200)

引用赋值:

$a = 100;
$b = 200;
$a = &$b; // 引用赋值
var_dump($a, $b); // int(200) int(200)
$a = 500;
var_dump($a, $b); // int(500) int(500)
$b = 700;
var_dump($a, $b); // int(700) int(700)

变量销毁:

  • unset() 用于销毁变量,但不一定释放内存。
  • 使用 $a = null 可以释放内存。

示例:

$a = 100;
$b = $a;
unset($a);
var_dump($a, $b); // NULL int(100)
$a = 100;
$b = $a;
$a = null;
var_dump($a, $b); // NULL NULL

数组示例:

$aaa = array('a' => 1, 'b' => 2);
unset($aaa['a']);
print_r($aaa); // Array ( [b] => 2 )
$bbb = array('a' => 1, 'b' => 2);
$bbb['a'] = null;
print_r($bbb); // Array ( [a] => [b] => 2 )

以上所述是小编给大家介绍的 PHP 变量传值赋值和引用赋值变量销毁详解整合,希望对大家有所帮助。