检查字符串中是否存在星号

时间:2018-04-07 06:49:31

标签: php

我必须检查字符串中是否存在星号,但它始终显示没有星号。

为什么strpos()不起作用?我还没试过stripos()mb_strpos()mb_stripos()

<?php

$str = "****123";
if(strpos($str, '*') == false){
    echo 'There is no asterisk in the string';  
} else {
    echo 'There is asterisk in the string';     
}

期望的输出:

字符串中没有星号。

2 个答案:

答案 0 :(得分:6)

如果找不到,

strpos()会返回一个整数(0或更多)或FALSE。在PHP中,the comparison 0FALSE只有在使用严格相等(===)时才会有所不同:

$str = "****123";
if(strpos($str, '*') === false){
    echo 'There is no asterisk in the string';  
} else {
    echo 'There is asterisk in the string';     
}

输出:

字符串中有星号

答案 1 :(得分:0)

if (substr('*abcdef', 0, 1) === '*') { ... }