$con = 10;
$row = 20;
function numbers(&$con,$row){
// global $con;
$con = pow($con,2);
$row = pow($row,2);
}
numbers($con,$row);
echo $con;
推荐使用引用传值。大多数情况下引用的值会在函数调用后很近的代码里就会进程处理,变量的作用域控制得非常小;而global定义的变量作用域几乎等同于全局变量,稍有不慎就会引起不必要的问题。举个简单的例子,你定义一个global变量的时候,就需要考虑整个系统中是不是还有地方也定义和使用了同名的global变量。
这也就是为什么面相对象的编程中都带有引用传值,而摒弃全局变量的原因。另外PHP中的对象、资源也是默认采用引用传递的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。