$con = 10;
$row = 20;
function numbers(&$con,$row){
// global $con;
$con = pow($con,2);
$row = pow($row,2);
}
numbers($con,$row);
echo $con;
$con = 10;
$row = 20;
function numbers(&$con,$row){
// global $con;
$con = pow($con,2);
$row = pow($row,2);
}
numbers($con,$row);
echo $con;
用类属性不行吗
如果有一个值需要频繁的处理 就声明为类属性被,记得 psr-0 里说一个文件一个类,所以一个类里面用属性就够用了吧,用的时候$this->就好了,欢迎指正:
<?php
class test{
public $con = 10;
public $row = 20;
function numbers(){
$con = pow($this->con,2);
$row = pow($this->row,2);
echo $con;
}
}
(new test())->numbers();
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.3k 阅读✓ 已解决
2 回答749 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.3k 阅读
1 回答694 阅读✓ 已解决
推荐使用
引用传值
。大多数情况下引用的值会在函数调用后很近的代码里就会进程处理,变量的作用域控制得非常小;而global
定义的变量作用域几乎等同于全局变量,稍有不慎就会引起不必要的问题。举个简单的例子,你定义一个global
变量的时候,就需要考虑整个系统中是不是还有地方也定义和使用了同名的global
变量。这也就是为什么面相对象的编程中都带有引用传值,而摒弃全局变量的原因。另外PHP中的对象、资源也是默认采用引用传递的。