我想知道如果该IP地址的字符串为x
,我该如何检查字符串(特别是IP地址)例如
$ip = "66.124.61.23" // ip of the current user
$x = "66.124" // this is the string what I want to check in my $ip.
那么如果它的字符串是$ x,我怎么能检查$ ip?
如果您很难理解这种情况,请发表评论。
谢谢。
答案 0 :(得分:3)
答案 1 :(得分:3)
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // prints @example.com
基于$ domain,我们可以确定是否找到字符串(如果domain为null,找不到字符串)
此功能区分大小写。对于不区分大小写的搜索,请使用stristr()。
您还可以使用 strpos() 。
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
同时阅读早期帖子 How can I check if a word is contained in another string using PHP?
答案 2 :(得分:2)
你也可以使用strpos()
,如果你专门寻找字符串的开头(如你的例子):
if( strpos( $ip, $x) === 0)
或者,如果您只是想查看它是否在字符串中(并且不关心字符串中的 where :
if( !( strpos( $ip, $x) === false))
或者,如果您想比较起始的n个字符,请使用strncmp()
if( strncmp( $ip, $x, strlen( $x)) === 0) {
// $ip's beginning characters match $x
}
答案 3 :(得分:1)
使用strpos()。
if(strpos($ip, $x) !== false){
//dostuff
}
注意使用double equals来避免类型转换。 strpos
可以返回0
(并且在您的示例中)将使用单个等号返回false。