我正在使用strpos两个计时器。在第一个if / else效果很好,但在第二个效果不理想。这是我的代码:
if (strpos($word, "mono") == true) {
$type = "Monobloc";
} else {
$type = "Articulated";
}
if ($word, "galva") == true) {
$coating = "Galvanized Rod";
} elseif (strpos($word, "epoxi") == true) {
$coating = "EPOXI 100%";
} elseif ($word, "electro") == true) {
$coating = "Electrozinced";
}
示例: 如果变量词的值为“ galva-mono”,则$ type应该是“ Monobloc”,而$ coating应该是“ Galvanized Rod”。问题在于,它很好地分配了$ type,但是在涂层中却没有输入if子句。
答案 0 :(得分:2)
警告
此函数可能返回布尔FALSE,但也可能返回 非布尔值,其值为FALSE。请阅读以下内容 有关更多信息的布尔值。使用===运算符测试 该函数的返回值。
您正在使用== true
而不是!== false
检查结果。
因此,请尝试以下代码:
if (strpos($word, "mono") !== false) {
$type = "Monobloc";
} else {
$type = "Articulated";
}
if (strpos($word, "galva") !== false) {
$coating = "Galvanized Rod";
} elseif (strpos($word, "epoxi") !== false) {
$coating = "EPOXI 100%";
} elseif (strpos($word, "electro") !== false) {
$coating = "Electrozinced";
}