11

我想看看是否。[dot] 是否存在于字符串中。

我试过 strstr 但它返回 false。

这是我的代码:-

<?php
$str = strpos("true.story.bro", '.');
if($str === true)
{
        echo "OK";
} else {
        echo "No";
}
?>

我想看看是否'。是否存在于字符串中,我可以做爆炸,但我想在 1 行中做,我该怎么做?

谢谢

4

5 回答 5

28

您可以直接使用strpos

if (strpos($mystring, ".") !== false) {
    //...
}

希望这有帮助:)

于 2013-02-03T19:41:10.680 回答
0

Strpos 返回第一个参数中第二个参数第一次出现的索引。采用

$str !== false
于 2013-02-03T19:43:23.667 回答
0

您使用 strpos 不正确。它返回字符串第一次出现的整数,true如果找到则不返回。

试试这个代码:

$str = strpos("true.story.bro", '.');
if($str !== false)
{
    echo "OK";
} else {
    echo "No";
}
于 2013-02-03T19:43:31.887 回答
0

如果 ”。” 位于字符串的第一个字节处,strpos将正确返回零。这不方便地评估等于false。像这样颠倒你的逻辑:

<?php
$str = strpos("true.story.bro", '.');
if($str === false)
{
        echo "No";
} else {
        echo "OK";
}
?>
于 2013-02-03T19:43:39.147 回答
0

strpos 的返回值是整数(0 到 strlen(string)-1)或布尔值(假),然后,您可以使用两种情况进行检查:

$pos = strpos('this is text with . dot', '.');
if(is_int($pos)){
 echo 'dot is found';
}else{
 echo 'dot not found';
}

or 
if($pos === false){
 echo 'dot not found';
}else{
 echo 'dot found';
}

note strpos('. test', '.') = 0  then is_int(0) ?  true
于 2013-02-03T19:51:42.063 回答