php - 为什么 strpos() 无法识别我的关键字?
问题描述
我有这段代码并通过验证器运行它 - 我看不到任何问题。
$verb = array("count","draw","Write");
echo $sentence."<br>";
foreach ($verb as $v)
{
echo "Verb=" . $v;
echo "<br>";
$pos = strpos($sentence, $v);
if ($pos === true) {
echo "<br> Match found<br>";
$check="1";
} else {
echo "<br>Not found!<br>";
$check="0";
}
}
echo $check;
当$sentence="Write"
(或任何其他包含其中一个项目$verb
的东西) - 它返回为...false
总是$check
等于0
并且我永远不会得到.true
$pos
我错过了什么?
解决方案
strpos()
如果找不到,将返回 false,如果找到,则返回字符串的偏移量,来自手册...
返回针相对于 haystack 字符串开头的位置(与偏移量无关)。另请注意,字符串位置从 0 开始,而不是 1。
所以比较$pos
是true
永远行不通
if ($pos === true) {
你可以把它改成..
if ($pos !== false) {
推荐阅读
- mysql - 为什么使用来自 ruby 的 LOAD DATA LOCAL INFILE 插入 MySQL 中的行数较少
- ajax - 使用 javascript 编写工作表 API 失败
- delphi - Delphi {$INCLUDE filename} 使用 dpr 文件的一部分
- java - toArray 方法中的参数有什么作用?
- rest - Azure 资源 API 字段可用于 $filters 和 $expand
- c - “额外”分号是什么意思?
- javascript - 如何将 JavaScript 事件处理程序添加到 ASP 控件上动态生成的文本框
- javascript - 我不明白那个 `value` 来自哪里,那个 `set` 是什么
- php - 使用 PHP Smarty 框架添加弹出窗口
- laravel-5 - Laravel:更新数据失败