由于未定義的變數,函式無法正常作業,我不知道為什么會這樣。我想我只是不明白物件/類的作業范圍。我是否需要參考$obj從哪個函式呼叫函式?如果是這樣,為什么它在這個例子中不起作用?
<?php
class employee {
// Properties
public $name;
public $salary = 0;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
function set_salary($salary) {
$this->salary = $salary;
}
function get_salary() {
return $this->salary;
}
function populate()
{
$worker = array();
$worker[0] = new employee();
$worker[0]->set_name('Linda');
$worker[0]->set_salary(5800);
$worker[1] = new employee();
$worker[1]->set_name('Manuel');
$worker[1]->set_salary(2750);
$worker[2] = new employee();
$worker[2]->set_name('Luis');
$worker[2]->set_salary(3200);
$worker[3] = new employee();
$worker[3]->set_name('Carly');
$worker[3]->set_salary(2999);
$i = 0;
}
function checkTaxes()
{
while ($i < 4)
{
echo "Name: " . $worker[$i]->get_name();
echo " - Salary: " . $worker[$i]->get_salary();
if ($worker[$i]->get_salary() >= 3000)
{
echo " - You have to pay taxes!<br><br>";
}
else
{
echo " - You don't have to pay taxes!<br><br>";
}
$i ;
}
}
}
$obj = new employee;
$obj->populate();
$obj->checkTaxes();
?>
uj5u.com熱心網友回復:
$worker未定義在checkTaxes()
如果你想使用$workerin或其他函式,你應該在 class中checkTaxes()定義 $worker ,就像and一樣。然后,你可以在 with 中更新它,并在with中讀取它。employeeprivate $worker = [];$name$salarypopulate()$this->worker[0] = xxx;checkTaxes()$this->worker[$i]->getxxx
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/471683.html
上一篇:使用oop處理資料幀
