在imap_search()条件中使用变量

时间:2011-02-23 02:25:11

标签: php gmail imap

对不起,我可能在这里遗漏了一些简单的东西,但我觉得我已经尝试了一切。我是一个PHP初学者,所以很可能解释它。

好的,所以我发送的电子邮件发送到收件箱,邮箱附加了密钥。例如:

jerry+examplekey@gmail.com

我正在尝试创建一个循环,对所有附加了该密钥的电子邮件执行某些操作。

当我这样做时

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
}

我尝试用大括号包装它,摆弄引号,在$ string中放入整个'To“$ key”'条件,然后像imap_search($ mbox,$ string)那样做,它没有'工作。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

'To "$key"'更改为"To \"$key\""

PHP仅在双引号""

中进行变量替换

单引号更快因此,PHP不必搜索字符串来查找变量。

所以你也可以使用像'To "'.$key.'"'

这样的连接运算符来完成它