对不起,我可能在这里遗漏了一些简单的东西,但我觉得我已经尝试了一切。我是一个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)那样做,它没有'工作。
我在这里缺少什么?
答案 0 :(得分:2)
将'To "$key"'
更改为"To \"$key\""
PHP仅在双引号""
单引号更快因此,PHP不必搜索字符串来查找变量。
所以你也可以使用像'To "'.$key.'"'