问题:
假设我有 $keyword = 在搜索框中输入了一个句子,例如“大白框”
我需要做的是将其分解为单个单词,然后测试每个单词以确保 * 不会出现在前 3 个字母中。(所以, sen* 可以,但 se* 不行)。如果 * 确实出现在任何单个单词的前 3 个字母中,则“if ($keyword) ...”过程需要结束。
if ($keyword) {
$token = strtok($keyword, " ");
while ($token != false) {
echo $token;
if (stripos($token,"*") < 3 ) {
return;
}
$token = strtok(" ");
}
...代码继续...
如您所见,我每次都在回显以查看它的处理过程。
如果我去掉“if”代码,那么它会输出“largewhiteboxes”并按预期继续。
如果我将“if”代码保持原样,则仅输出“large”,并且例程结束 - 即使条件尚未满足!
如果我在 WHILE 循环之外单独运行该“if”语句,它工作得很好,对前 3 个位置的 * 响应为真,对其他所有位置响应为假......
我可能做错了什么???