2014-05-04 200 views
0

我想將IP地址或子網掩碼轉換爲位。
有沒有簡單的方法來做到這一點?
例如:
輸入:255.255.255.0
輸出:11111111 11111111 11111111 00000000將IP地址轉換爲位[]

回答

1

ip2long在這種情況下非常有用:

$ipAddress = "8.8.8.8"; 
echo decbin(ip2long($ipAddress)); 

參見:http://www.php.net/manual/en/function.ip2long.php

此外,請注意,decbin不會總是輸出相同的數字位數,因此請嘗試使用sprintf代替始終獲得32位:

sprintf("%032b", ip2long($ipAddress)); 
2

試試這個代碼,我做到了你:

 


$ipAddress = "255.255.255.0"; 

$ipsArray = explode(".", $ipAddress); 

foreach($ipsArray as $ip){ 
    $ipInt = (int)$ip; 

    echo decbin($ipInt) . " "; 
}