我是PHP的新手,我才刚刚开始寻找自己的方法,但是我很难使用包含foreach()
循环的public函数从public关联数组中获取值。 PHP代码封装为一个类,并嵌入到html文件中。显示的html内容没有任何问题,但是PHP部分未返回任何结果。
显示了我一直在尝试使用的代码。我已经通过多个php验证程序检查了代码,没有返回语法错误,但是我显然在代码中缺少了一些预防措施
<?php
class balances {
public $custBalances = [
'Customer 1' => 450,
'Customer 2' => 900,
'Customer 3' => 0,
'Customer 4' => 450
];
public function oustandingBalances() {
foreach ($custBalances as $key => $value) {
if ($value == 0)
continue;
echo "<p>$key is $value.</P>";
}
}
}
?>
php应该为客户1,客户2和客户4返回结果。非常感谢您的帮助。
答案 0 :(得分:-1)
如果要在该类/对象的函数内访问同一类对象的属性,则必须使用$this->propertyName
而不是$propertyName
。否则,您将尝试获取在函数内部声明的属性,而不是对象的成员。
<?php
class balances {
public $custBalances = [
'Customer 1' => 450,
'Customer 2' => 900,
'Customer 3' => 0,
'Customer 4' => 450
];
public function oustandingBalances() {
foreach ($this->custBalances as $key => $value) {
if ($value == 0)
continue;
echo "<p>$key is $value.</P>";
}
}
}
?>
答案 1 :(得分:-1)
使用$ this调用类中的变量。
<?php
class balances {
public $custBalances = [
'Customer 1' => 450,
'Customer 2' => 900,
'Customer 3' => 0,
'Customer 4' => 450
];
public function oustandingBalances() {
foreach ($this->$custBalances as $key => $value) {
if ($value == 0)
continue;
echo "<p>$key is $value.</P>";
}
}
}
$test = new balances();
$test->oustandingBalances();
?>
答案 2 :(得分:-2)
您需要在函数“ oustandingBalances”中使用$this->custBalances
。