zoukankan      html  css  js  c++  java
  • 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>"; 
    
    
     ?>
    View Code

    (完.)

  • 相关阅读:
    JS学习笔记11_高级技巧
    【应用】wamp3.x.x设置,让外网能够访问本服务器
    数据建模(二)
    数据建模浅析(一)
    saltstack(四) saltstack的targeting、分组
    saltstack(三) grains、pillar的使用
    saltstack(二) master、minion常用配置选项
    dstat系统分析工具的使用
    PC蓝牙通信C#代码实现
    开源GIS-对比GeoServer和MapServer
  • 原文地址:https://www.cnblogs.com/wghao/p/6008482.html
Copyright © 2011-2022 走看看