PHP实现函数内修改外部变量值的方法示例

PHP实现函数内修改外部变量值的方法。具体如下:

直接上代码,如下:

$a_str = 'ab';
  function change_val(){
    global $a_str; // 通过设置全局变量,修改变量值
    //$a_str = 'abc';
    $a_str = $a_str.'abc';
  }
  echo $a_str."<br>";
  change_val();
  echo $a_str."<br>";
  echo str_repeat('#',20)."<br>";
  $b_str = 'ab';
  function change_val_1($s){
    $s = 'abc';
    //$s = $s.'abc';
    return $s; // 通过返回值,修改变量值
  }
  echo $b_str."<br>";
  $b_str = change_val_1($b_str);
  echo $b_str."<br>";
  echo str_repeat('#',20)."<br>";
  $c_str = 'ab';
  function change_val_2(&$c_str){//引用调用
    //$c_str = 'abc';
    $c_str = $c_str.'abc';
  }
  echo $c_str."<br>";
  change_val_2($c_str);
  echo $c_str."<br>";

运行结果:

ab
ababc
####################
ab
abc
####################
ab
ababc

总结:

  • 尽量少用全局变量。全局变量会增加内存使用量。
  • 传值调用会创建一个副本,数据量很大时,会影响性能。
  • 引用调用时,函数接收的是变量地址,不会创建数据副本,效率高 。
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论