2016-11-30 172 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; 
    } 
}