PHP 函数不会获取变量的值
PHP Function won't pick up variable's values
我在学习 OOP 时写了这篇文章 PHP。我在将变量值传递给函数时遇到了一些麻烦。但事实证明,这些函数不会读取变量的值。请看下文并提出建议。
<?php
class calculator {
private $num1 = '1';
private $num2 = '2';
public function complete() {
return $num1 * $num2;
}
}
$calc = new calculator();
$result = $calc->complete();
echo $result;
你必须改变这个:
(使用 $this
您可以访问 class 属性 而不是任何变量)
public function complete() {
return $num1 * $num2;
}
对此:
public function complete() {
return $this->num1 * $this->num2;
//^^^^^ See here^^^^^
}
public function complete() {
return $num1 * $num2;
}
此函数中没有创建变量 $num1
或 $num2
。当然不是"read the variables' values".
你想要的可能是:
public function complete() {
return $this->num1 * $this->num2;
}
您是否阅读了 PHP 手册中有关 classes and objects 的章节?
我在学习 OOP 时写了这篇文章 PHP。我在将变量值传递给函数时遇到了一些麻烦。但事实证明,这些函数不会读取变量的值。请看下文并提出建议。
<?php
class calculator {
private $num1 = '1';
private $num2 = '2';
public function complete() {
return $num1 * $num2;
}
}
$calc = new calculator();
$result = $calc->complete();
echo $result;
你必须改变这个:
(使用 $this
您可以访问 class 属性 而不是任何变量)
public function complete() {
return $num1 * $num2;
}
对此:
public function complete() {
return $this->num1 * $this->num2;
//^^^^^ See here^^^^^
}
public function complete() {
return $num1 * $num2;
}
此函数中没有创建变量 $num1
或 $num2
。当然不是"read the variables' values".
你想要的可能是:
public function complete() {
return $this->num1 * $this->num2;
}
您是否阅读了 PHP 手册中有关 classes and objects 的章节?