如何检查'';[dot]是否存在于字符串中?strstr在php中不起作用


how to check if '.'[dot] is present in string or not ? strstr is not working in php

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

我尝试过strstr,但它返回false。

这是我的代码:-

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

我想看看"。"是否存在于字符串中,我可以用爆炸来做,但我想在1行中做,我怎么能做到呢?

感谢

您可以直接使用strpos。

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

希望得到帮助:)

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

试试这个代码:

$str = strpos("true.story.bro", '.');
if($str !== false)
{
    echo "OK";
} else {
    echo "No";
}

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

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

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

$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
Strpos返回第一个参数中第二个参数第一次出现的索引。使用
$str !== false