PHPでIPアドレスの最初の3つの部分を取得しようとしています。
たとえば、IPアドレスを次のように考えてみましょう
"1.2.3.4";
それから私は取得したいです
"1.2.3";
前もって感謝します。
PHPでIPアドレスの最初の3つの部分を取得しようとしています。
たとえば、IPアドレスを次のように考えてみましょう
"1.2.3.4";
それから私は取得したいです
"1.2.3";
前もって感謝します。
これを行うと、最初の 3 つの部分を取得できます。
$nums = explode(".", "1.2.3.4") ;
echo $nums[0]. "." .$nums[1]. "." .$nums[2] ;
または、次の方法でも実行できます。
$ip = "1.2.3.4";
$dotPosition = strrpos($ip, '.'); //getting position of the last dot
echo substr($ip, 0, $dotPosition); //getting the characters until that position.
$ip = "1.2.3.4";
echo substr($ip, 0, strrpos($ip, '.'));
出力
1.2.3
これはstrrpos()
、文字の最後の出現を見つけるために使用されます.
。
$nums = explode(".", "1.2.3.4") ;
echo "{$nums[0]}.{$nums[1]}.{$nums[2]}" ; //echoes 1.2.3
$ip = "1.2.3.4";
$nums = explode(".",$ip) ;
echo $nums[0].".".$nums[1].".".$nums[2] ;
ここに関数があります:
function GetFirstThree($ip) {
if(strlen($ip) <= 10) {
$pos = strpos($ip, '.', strlen($ip)-3);
} else {
$pos = strpos($ip, '.', strlen($ip)-4);
}
$ip = substr($ip, 0, $pos);
$ip = substr($ip, 0, strlen($ip));
return $ip;
}
echo GetFirstThree("127.0.0.1");
$ip = "1.2.3.4"
$firstThreeOctetOfIp = implode('.', array_slice(explode('.', $ip), 0, 3)); // "1.2.3"
explode
4 つの値を持つ配列を取得するための IParray_slice
必要な値を持つ配列を取得するimplode
最終的な配列から文字列を取得する