2014-11-14 11 views
0

的IP地址字符串的最後一部分,如果我有一個IP,如:我如何在PHP

195.123.321.456 

我怎麼只是456作爲一個變量?

+1

如果您使用的是真正有效的IP'ip2long($ ip)&0xFF',則會爲您提供最後一個八位字節。 – georg

回答

6

這應該爲你工作:

<?php 

    $ip = "195.123.321.456"; 
    $split = explode(".", $ip); 
    echo $split[3]; 

?> 

輸出:

456 
+0

它的作品,但OP標籤正則表達式 – Raptor

+2

@Raptor哦,你的權利!但我認爲他不需要正則表達式。認爲他只需要解決他的問題 – Rizier123

1
\b\d+(?![^.]*\.) 

試試看。

http://regex101.com/r/pQ9bV3/22

$re = "/\\b\\d+(?![^.]*\\.)/"; 
$str = "195.123.321.456"; 

preg_match_all($re, $str, $matches); 
+0

這將返回「1」 – Jacques

+0

@Jacques它不能給'1'.See演示 – vks

+1

@vks .. +1爲一個很好的答案,並將我轉到http://regex101.com。 – rnevius

1

如果你將數據存儲在裏面瓦爾像

$var = "195.123.321.456"; 

您可以在字符串上使用preposed php命令來查找上次發生的事件。

$number = substr(strrchr($var , "."), 1); 

你現在456有$號VAR

文檔上strrchr - >http://php.net/manual/en/function.strrchr.php

0

ü也可以使用這樣的:

$ip = '195.123.321.456'; 
$last = substr($ip, strrpos($ip, '.') + 1); 
1

你可以找到這個通過以下方式:

$ipaddress = '195.123.321.456'; 

$endValue = end(explode(".", $ipaddress)); 

echo $endValue;