2016-11-30 104 views
2

代碼返回未定義的變量,我認爲有些事情是錯的,我寫的功能,它應該劃分$value$splitfeeOOP PHP價格計算器

class Product { 
    public $name; 
    public $value; 
    public $price; 
    public $splitfee; 

    function split() { 
     $this->value->splitfee = $this->$value/$splitfee; 
    } 
} 

$product_one = new Product(); 
$product_one->name = "potato"; 
$product_one->price = 100; 


$product_two = new Product(); 
$product_two->name = "tomato"; 
$product_two->value = 200; 
$product_two->splitfee = 200; 

$product_three = new Product(); 
$product_three->name = "auto"; 
$product_three->price = 300; 

echo $product_one->name . " is " . $product_one->price . " $" . "<br />"; 
echo $product_two->name . " is " . $product_two->split() . " $" . "<br />"; 
+0

您的功能正文不正確。這裏的splitfee是什麼? –

+0

這應該是按產品價值劃分的費用,例如200/30,但是我看到我將splitfee設置爲200 –

+0

@NadanMarenkovićhttp://phpio.net/s/1gkv –

回答

0

您可以治好你的split()方法,讓它返回一個值。這將允許你的內聯調用打印內容。

function split() { 
    return $this->value/$this->splitfee; 
} 

然後代碼將打印:

potato is 100 $ tomato is 1 $

+0

謝謝,我會試試看後來。 –

+0

它的工作原理!謝謝! –

+0

@nadanarenković太棒了!感謝您選擇此解決方案來幫助任何有此問題的人。 – WEBjuju

0

試試這個,如果我理解正確的邏輯。

class Product { 
    public $name; 
    public $value; 
    public $price; 
    public $splitfee; 

    function split() { 
     return $this->value/$this->splitfee; 
    } 
}