PHP赋值运算
1. 赋值运算:= ,意思是右边表达式的值赋给左边的运算数。
$int1=10; $int1=$int1-6; //$int1=4 echo $int1,"<br>"; $int3=$int2=$int1+4; //右向左,最后$int3=8 echo $int2,"<br>"; echo $int3,"<br>"; $int3=($int2=$int1)+4; //先对()进行运算,再右向左,最后$int3=8 echo $int2,"<br>"; echo $int3,"<br>";
2.将两个变量的值进行互换
$int_x=10; $int_y=20; $int_x=$int_y+$int_x; $int_y=$int_x-$int_y; $int_x=$int_x-$int_y; echo "<hr>"; echo $int_x,"<br>"; echo $int_y,"<br>";
3. 引用赋值
$x=6; $y=$x; $z=&$y; //意味着$y,$z两个变量指向了同一个数据
图形描述,左边表示变量,右边表示对应的值,$z=&$y表示$y,$z两个变量指向一个数据6,如C言语中的指针道理,指向同一个地址数据。
echo var_dump($x,$y,$z),"<br>";
就会输出:int(6) int(6) int(6)
接下来,改变$x,$y的值,看变化:
$x=4; $y=8;
echo var_dump($x,$y,$z),"<br>";
就会输出:int(4) int(8) int(8)
假如,我们这时候,作如下改变,再看$x,$y,$z的变化:
$x=$y+10; $y=&$x; //意味着$y的值指向了$x的值, $z=$y+2;
echo var_dump($x,$y,$z),"<br>";
就会输出:int(18) int(18) int(20)
下面,再作一个例子来加深理解:
//为了能清楚的描述,先作释放变量操作 unset($x); unset($y); unset($z); unset($u); $x=1; $y=2; $z=3; $u=&$z; echo "<hr>"; echo var_dump($x,$y,$z,$u),"<br>"; $y=&$x; $z=&$y; echo var_dump($x,$y,$z,$u),"<br>"; $y=5; echo var_dump($x,$y,$z,$u),"<br>"; $u=&$z; echo var_dump($x,$y,$z,$u),"<br>"; $z=6; echo var_dump($x,$y,$z,$u),"<br>";
看输出结果:
int(1) int(2) int(3) int(3)
int(1) int(1) int(1) int(3)
int(5) int(5) int(5) int(3)
int(5) int(5) int(5) int(5)
int(6) int(6) int(6) int(6)
最后列出完整的测试代码:

<?php // 1. 赋值运算:= ,意思是右边表达式的值赋给左边的运算数。 $int1=10; $int1=$int1-6; //$int1=4 echo $int1,"<br>"; $int3=$int2=$int1+4; //右向左,最后$int3=8 echo $int2,"<br>"; echo $int3,"<br>"; $int3=($int2=$int1)+4; //先对()进行运算,再右向左,最后$int3=8 echo $int2,"<br>"; echo $int3,"<br>"; // 2.将两个变量的值进行互换 $int_x=10; $int_y=20; $int_x=$int_y+$int_x; $int_y=$int_x-$int_y; $int_x=$int_x-$int_y; echo "<hr>"; echo $int_x,"<br>"; echo $int_y,"<br>"; // 3. 引用赋值 $x=6; $y=$x; $z=&$y; //意味着$y,$z两个变量指向了同一个数据 echo "<hr>"; echo var_dump($x,$y,$z),"<br>"; $x=4; $y=8; echo var_dump($x,$y,$z),"<br>"; $x=$y+10; $y=&$x; //意味着$y的值指向了$x的值, $z=$y+2; echo var_dump($x,$y,$z),"<br>"; //----------------------- //为了能清楚的描述,先作释放变量操作 unset($x); unset($y); unset($z); unset($u); $x=1; $y=2; $z=3; $u=&$z; echo "<hr>"; echo var_dump($x,$y,$z,$u),"<br>"; $y=&$x; $z=&$y; echo var_dump($x,$y,$z,$u),"<br>"; $y=5; echo var_dump($x,$y,$z,$u),"<br>"; $u=&$z; echo var_dump($x,$y,$z,$u),"<br>"; $z=6; echo var_dump($x,$y,$z,$u),"<br>"; ?>
(完.)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架