2013-01-19 40 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);