zoukankan      html  css  js  c++  java
  • PHP函数参数传递(相对于C++的值传递和引用传递)

    学语言学得比较多了,今天突然想PHP函数传递,对于简单类型(基本变量类型)和复杂类型(类)在函数参数传递时,有没有区别呢,今天测试了下:

    代码如下:

      

     1 <?php 
     2 
     3     function test($a, $b)
     4     {
     5         $a = 55;
     6         $b = 66;
     7     }
     8 
     9     
    10     $c = 1;
    11     $d = 2;
    12     
    13     echo '$c $d传递前的值<br>';
    14     echo '$c = '.$c."<br>".'$d = '.$d."<br>";
    15     
    16     test($c, $d);
    17     
    18     echo '$c $d传递后的值<br>';
    19     echo '$c = '.$c."<br>".'$d = '.$d."<br><br>";
    20     
    21     class A
    22     {
    23         var $tt;
    24     }
    25         
    26     function testaa($a)
    27     {
    28         $a->tt = 99;
    29         echo '函数体里$a->tt的值<br>';
    30         echo $a->tt.'<br>';
    31     }
    32     
    33     $aa = new A();
    34     $aa->tt = 77;
    35     
    36     echo '$aa->tt传递前的值<br>';
    37     echo $aa->tt.'<br>';
    38     testaa($aa);
    39     echo '$aa->tt传递后的值<br>';
    40     echo $aa->tt.'<br>';

    输出结果:

    $c $d传递前的值
    $c = 1
    $d = 2
    $c $d传递后的值
    $c = 1
    $d = 2

    $aa->tt传递前的值
    77
    函数体里$a->tt的值
    99
    $aa->tt传递后的值
    99

    结论:

     对于简单的值传递,PHP跟C语言一样,都是函数体内无法改变实参的值,但是对象可以。

  • 相关阅读:
    U盘支持启动windows和Linux
    emacs安装
    npm 安装指定的第三方包
    npm安装第三方包
    npm 安装淘宝镜像
    ssm 环境搭建
    gitBook安装简介
    git 博客搭建
    git 多人开发
    git ssh提交
  • 原文地址:https://www.cnblogs.com/BTMaster/p/3537393.html
Copyright © 2011-2022 走看看