2

そのIPアドレスにxの文字列がある場合、I文字列(具体的には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 を確認できますか?

この状況を理解するのに苦労している場合は、コメントを残してください。

ありがとうございました。

4

4 に答える 4

6

使用するstrstr()

if (strstr($ip, $x))
{
    //found it
}

以下も参照してください。

  • stristr()この関数の大文字と小文字を区別しないバージョン。
  • strpos()文字列の最初の出現を見つける
  • stripos()文字列内で大文字と小文字を区別しない部分文字列が最初に出現する位置を見つける
于 2012-06-21T13:10:21.697 に答える
4

を使用することもできstrpos()ます。特に文字列の先頭を探している場合(例のように):

if (strpos($ip, $x) === 0)

または、文字列内にあるかどうかを確認したいだけの場合(文字列内のどこにあるかは気にしないでください:

if (strpos($ip, $x) !== false)

または、最初のn文字を比較する場合は、strncmp()

if (strncmp($ip, $x, strlen($x)) === 0) {
    // $ip's beginning characters match $x
}
于 2012-06-21T13:13:49.577 に答える
3

strstr()を使用する

$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // prints @example.com

$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";
}

SO 以前の投稿、PHP を使用して単語が別の文字列に含まれているかどうかを確認するにはどうすればよいですか?もお読みください。

于 2012-06-21T13:12:32.063 に答える
2

strpos()を使用します。

if(strpos($ip, $x) !== false){
    //dostuff
}

型変換を避けるために double equals を使用していることに注意してください。 strpos返すことができ0ます(そして、あなたの例ではそうします)。これは、単一の等号でfalseと評価されます。

于 2012-06-21T13:13:40.673 に答える