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

总结:

尽量少用全局变量。全局变量会增加内存使用量。

传值调用会创建一个副本,数据量很大时,会影响性能。

引用调用时,函数接收的是变量地址,不会创建数据副本,效率高 。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP数组(Array)操作技巧大全

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ba35040f69a61c8f1cfb67cccb37cc6f.html