2013-01-19 35 views
0

我想找到我的错误,但是这个代码不工作:不能找到我的错误

$marginprice = $retProd['price']['FormattedPrice']; 
$marginten = '10'; 
if ($marginprice < $marginten) {$marginprice + '7';} 
else {$marginprice + '12';}     
update_post_meta($lastId, '_price', $marginprice); 
+3

'$ marginprice + ='7';' – bitWorking

+1

很确定marginprice + 7不是一个完整的语句。 – Leeish

+0

尽管@redreggae很可能是正确的,你真正的问题是什么? –

回答

0

不知道你是什么意思通过“不工作”,但你应该使用整数for..well..integers,而你没有正确递增marginprice:

$marginprice = $retProd['price']['FormattedPrice']; 
$marginten = 10; 
if ($marginprice < $marginten) {$marginprice += 7;} 
else {$marginprice += 12;}     
update_post_meta($lastId, '_price', $marginprice); 
+0

非常感谢,是的,那是我的错误! – user1993793

+0

好听! :) –

+0

@ user1993793请将此答案标记为已接受 - 这将建立达米恩的声誉,感谢他的帮助。 –

0

您需要分配值的变量。

$marginprice = $marginprice + 7; 
+2

'$ marginprice + = 7;' –

+0

@Damien我相信我读过一篇声称$ var = $ var + 7的文章会比使用+ = 7 – Phorce

+0

@Phorce更快更高效,如果是这样,它绝对可以忽略不计并不值得再次思考,尤其是,不值得牺牲可读性。 –

2

根据注释,+不是有效的字符串运算符。

我假设你要添加的数字,在这种情况下,你不需要引用次数:如果你想连接字符串

$marginprice = 10; 
$marginprice += 7; 
echo $marginprice; // will output 17 

(添加一个前一后):

$marginprice = 10; // it starts as a number 
$marginprice .= '7'; // marginprice is now a string 
echo $marginprice; // will output 107 

所以,你的代码就变成了:

$marginprice = $retProd['price']['FormattedPrice']; 
$marginten = 10; 
if ($marginprice < $marginten) {$marginprice += 7;} 
else {$marginprice += 12;}     
update_post_meta($lastId, '_price', $marginprice); 
0

如果你想使用的数字,你不需要引用他们或他们将被解释为字符串。

$marginprice = $retProd['price']['FormattedPrice']; 
$marginten = 10; 

if ($marginprice < $marginten) 
    $marginprice + 7; 
else 
    $marginprice + 12; 

update_post_meta($lastId, '_price', $marginprice);