这听起来真的很简单,但我不明白为什么它不起作用。
我正在检查字符串是否与某些内容匹配,以便发送一些文本。
返回的字符串是:Delivered to UPS Access Point™ location and awaiting customer pickup.
这是我用来检查的语句
if(strpos(strtolower($step->status), "delivered to ups access point")) {
}
当前,如果我希望它为true,则if语句返回false
任何想法
答案 0 :(得分:4)
您正在将strpos视为布尔值,事实并非如此。它返回字符串的位置(为0),并转换为false。
因此要与非false(未找到)或> = 0(已找到)进行比较,类型很重要。
示例:
$data = "Delivered to UPS Access Point™ location and awaiting customer pickup.";
if(strpos(strtolower($data), "delivered to ups access point") !== false) {
echo 'Found!';
}
答案 1 :(得分:1)
这应该有效
$step->status = "Delivered to UPS Access Point™ location and awaiting customer pickup.";
if(strpos(strtolower($step->status), "delivered to ups access point") !== false) {
echo "String matches";
}
else {
echo "String not matches";
}
答案 2 :(得分:1)
strpos是第二个参数的返回索引。在您的情况下,“交付到ups接入点”是指起点平均第0位。 0表示错误。