PHP基础教程(28)PHP变量的赋值:PHP变量赋值:从“青铜”到“王者”的保姆级通关攻略

第一章:变量赋值?不就是等号的事吗?

朋友,如果你刚学PHP,大概率写过这样的代码:

<?php
$name = "张三";
$age = 25;
echo "我叫$name,今年$age岁!";

看起来简单得像个“Hello World”——等号左边放变量,右边放值,齐活!但今天我要告诉你的是:这个小小的等号,可能是你编程生涯中最大的“伪装者”

想象一下,你是个外卖员(变量),接到一份红烧肉订单(数据)。普通赋值就像你把这份红烧肉完整复制一份带回家;而引用赋值呢?更像是你只拿了个取餐码,任何时候红烧肉被换了菜,你手里的东西也跟着变——是不是细思极恐?

别急,我们先从最基础的开始拆解。

第二章:基础赋值——PHP世界的“租房游戏”

2.1 基本玩法:给数据找个家

在PHP里,变量不用提前“报名”(声明类型),想用就用:

<?php
// 像不像在租房App上找房子?
$room = "1001室";          // 字符串户型
$price = 3500;             // 数字租金
$isAvailable = true;       // 布尔值:是否可租
$features = ["独立卫浴", "朝南", "带阳台"]; // 数组:房屋特色

echo "我看中了$room,月租{$price}元";

每个变量都是内存里的一个“房间”,等号就是把数据放进房间的动作。但这里有个关键细节:PHP的变量名实际上是个“标签”,贴在了内存地址上

2.2 内存视角:看看等号在搞什么鬼

来看这个经典场景:

<?php
$original = "我是原版数据";
$copy = $original;  // 传说中的“赋值”
$original = "数据被修改了!";

echo $copy;  // 输出什么?
// 答案是:“我是原版数据”

为什么$copy没跟着变?画个内存图你就懂了:

【修改前】
$original → 内存地址0x001 → "我是原版数据"
$copy    → 内存地址0x002 → "我是原版数据"(完全复制了一份)

【修改后】
$original → 内存地址0x001 → "数据被修改了!"(原地修改)
$copy    → 内存地址0x002 → "我是原版数据"(纹丝不动)

这就是传值赋值——创建数据的完整副本,两者从此互不干扰。就像你复制了朋友的PPT课件,他后来改了内容,你的副本还是老的。

第三章:引用赋值——绑定灵魂的“双胞胎感应”

3.1 神奇的操作符:&

如果我想让两个变量“心连心”怎么办?加个&符号:

<?php
$original = "初始数据";
$reference = &$original;  // &符号是关键!
$original = "哎呀我变了";

echo $reference;  // 输出:“哎呀我变了”

现在内存里发生了什么?

$original → 内存地址0x001 → "哎呀我变了"
            ↑
$reference → 指向同一个地址!

$reference没有自己的数据房间,它只是$original的“别名”或“影子”。这种引用赋值就像你和朋友共享同一个网盘链接,网盘里的文件变了,你们看到的都会变。

3.2 实战场景:大数组操作的性能救星

假设你要处理一个10万条用户数据的数组:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值