我正确使用了strpos吗?没有得到结果

时间:2015-08-29 04:42:03

标签: php string if-statement strpos

我有一个php while循环(创建一个搜索脚本),我希望匹配值以查看哪些项目应该进入搜索结果。 strpos似乎工作得很好,直到它拒绝在这个特定的地方正常工作......

if (strpos('a', 'a')) {
 continue;
}

不能继续吗? ""确实包含" a"毕竟,但在我的剧本中,它已经到了继续。

1 个答案:

答案 0 :(得分:1)

一切都好,只需尝试以下代码:

<?php

$value = strpos('qa', 'a');
var_dump($value);

if($value) {
 echo "inside\n<br>";
}

输出:

  

INT(1)

     

<?php
$value = strpos('aq', 'a');
var_dump($value);

if($value) {
 echo "inside\n<br>";
}

输出:

  

INT(0)

在第二个代码中$value在类型转换中评估为false (boolean),因为a的位置为0,当您评估0if()该值正在转换为false

您应该使用以下代码:

if(strpos('a', 'a') === 0) {
 echo "inside\n<br>";
}

输出:

  

您可以在以下网址阅读更多内容:

  

http://php.net/strpos

     

http://php.net/manual/en/language.operators.comparison.php