2011-05-27 46 views
1

我想一個字符串存儲在形式的餅乾如何改變在PHP中一個cookie

1.236|2.48|3.574|4.094| 

每個數字1-4相關的股利和後點的數量以相關的屬性DIV。

我想要做的是讓php檢查cookie,看看是否有一個條目3,如果有,刪除點後的數字,並用我提供的數字替換它,如果沒有,創建數字I提供的字符串中的條目。因此,如果在cookie中字符串的形式

1.236|2.48|4.094| 

那麼PHP將其與66是由腳本提供的號碼設置爲

1.236|2.48|4.094|3.66| 

如果cookie中的字符串的形式

1.236|2.48|3.574|4.094| 

那麼PHP將其設置爲

1.236|2.48|3.66|4.094| 

(或者一樣好,應該是:

1.236|2.48|4.094|3.66 

我hav e使用了點和'|'在我的例子中,但它們只是作爲分隔數據的佔位符,如果它們不能在cookie中使用,那麼任何其他隨機固定符號都應該這樣做。

任何幫助表示讚賞。謝謝。

回答

0
$cookieName = 'myCookie'; 
$newValue = 66; 
$newString = preg_replace('/3\.[0-9]+/',"3.$newValue",$_COOKIE[$cookieName]); 
if (strpos($newString,'3.'.$newValue) === false) { 
    $newString .= '3.'.$newValue; 
} 
setcookie($cookieName,$newString); 
+0

這是整潔。我花了一些時間查找這意味着什麼,它確實正是我需要的。謝謝! – James 2011-05-27 20:03:12

3

使用setcookie()函數(請參閱documentation)設置和$_COOKIE數組(請參閱documentation)以讀取cookie。

+0

據我所見,我沒有設置cookie,我正在修改現有的cookie。我知道如何創建一個新的cookie,但我想在這裏修改一個cookie的內容。 – James 2011-05-27 19:24:03

+0

只要你設置了cookie,你就修改它 – 2011-05-27 19:26:03

+0

@James沒有「修改cookie」。要對其進行修改,請閱讀cookie的內容,進行更改,然後使用新值重新設置cookie。 – 2011-05-27 19:26:48

相關問題