2014-05-04 157 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) . " "; 
}