【发布时间】:2016-02-29 13:45:12
【问题描述】:
要检查产品尺寸,我需要搜索一个简单的字符串,例如:32sdfsjkndgfjkdgndkj24020ldsfsfsd
为了找到字符串中的值,我使用 strpos 来查找不同的大小。
我当前的代码是:
if (strpos($size, "1875cl") || strpos($size, "01875l")) {
$size = '18,75cl';
} elseif (strpos($size, "20cl") || strpos($size, "020l") || strpos($size, "02l")) {
$size = '20cl';
}
问题是当我使用 if 语句时。
第一个 if 效果很好。然后当 elseif 正在检查字符串中的另一个值时 - 也使用 strpos 脚本返回一个致命错误,说明该函数未定义:
致命错误:在.....中调用未定义的函数 strpos()
【问题讨论】:
-
我相信 if 语句应该先声明然后 { 用于执行接受的语句。 :)
-
仔细阅读有关 strpos() 的文档,因为大字符串开头的搜索字符串不会像您期望的那样运行
-
你能在开始使用 strpos 之前
die$size的值吗? -
dieof$size没有返回任何内容,但是在打印值时,我收到了产品名称,例如:32sdfsjkndgfjkdgndkj24020ldsfsfsd -
你到底想做什么,这段代码在这里是完全正常的。当找到 1875cl 时,尺寸为 18,75cl。你可以试试strstr来解决020l排在第一位的问题吗?当已经找到 1875l 或另一个产品时,“然后当 elseif 正在检查字符串中的另一个值时”是相同的字符串