2011-02-23 34 views
0

對不起,我可能在這裏缺少一些簡單的東西,但我覺得我已經嘗試了一切。我是一名PHP初學者,所以很可能解釋它。在imap_search()標準中使用變量

好吧,所以我將電子郵件發送到收件箱,並在郵箱中附加了一個密鑰。例如:

[email protected]

我試圖創建一個循環,做一些事情,從而與它,密鑰的所有郵件。

當我做

foreach ($valid_keys as $key){ // granted this loop does nothing for now 
if ($emails = imap_search($mbox, 'To "examplekey"')){echo "Found emails.";}; 
} 

它工作絕對沒問題。也就是說,當我手動指定「To」條件字符串時。 但是,當我嘗試將一個變量放入To條件而不是字符串時,它沒有找到它 - 即使當我驗證$ key等於收件箱中的一個鍵時(我正在迴應它在循環中確保)。

foreach ($valid_keys as $key){ 
if ($emails = imap_search($mbox, 'To "$key"')){echo "found one";}; // this doesn't work 
} 

我試過在大括號包裹它,用引號擺弄,把整個「到‘$鍵’」在$字符串標準,然後做它像imap_search($ MBOX,$字符串)它不起作用。

我在這裏錯過了什麼?

回答

1

變化'To "$key"'"To \"$key\""

PHP只做變量替換雙引號中""

單引號是因爲這樣更快,PHP沒有通過字符串搜索找到變量。

所以,你可以這樣做,也是使用連接運算符這樣'To "'.$key.'"'

+0

謝謝!對條件使用雙引號並轉義$ key上的引號。我知道這很簡單 – 2011-02-23 02:47:09