PHP中的变量传值

       首先,何为变量传值,所谓变量传值就是将一个变量赋值给另外一个变量。

变量传值有两种方式:值传递和引用传递。

1:值传递:值传递就是将变量保存的值复制一份,然后将新的值给另外一个变量保存(两个变量没有关系)                                  

2:引用传递:引用传递就是将变量保存的值所在的内存地址传递给另外一个变量,两个变量指向同一块内存空间(两个变量实质上是同一个值)

       在解释上述两个概念前,先介绍一点有关计算机内存的知识:

在计算机内存中,通常有以下几个分区:

栈区:是指程序可以操作的内存部分,这一部分不存储数据,只运行程序代码,这部分内存相对很小但是运行速度极快。

代码段:是指存储程序的内存部分,但是该部分不执行程序。

数据段:是指存储普通数据的内存部分。

堆区:是指复杂数据的内存部分,内存空间相对很大,但是效率低。

好了,现在步入正题,从代码角度来看看值传递和引用传递的区别。

值传递

<?php
    $a = 1;
    $b = $a;
    $b = 2;
    echo "$a<br>";
    echo "$b<br>";
?>

该段代码的运行结果是1和2。

我们来详细分析一下其内部的运行原理:

 

<?php
    $a = 1;
    $b = &$a;
    $b = 2;
    echo "$a<br>";
    echo "$b<br>";
?>

该段代码的运行结果是2和2。

我们来详细分析一下其内部的运行原理:

因此在传递值的过程中一定要看清楚是值传递还是引用传递,这两种结果是不同的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值