サンプルコード
<?php
$nIp = ip2long('192.168.0.1');
$nMask = ip2long('255.255.255.0');
$nNetwork = $nIp & $nMask;
$nBroadcast = $nIp | ~$nMask;
//ネットワークアドレス
var_dump(long2ip($nNetwork));
//ブロードキャストアドレス
var_dump(long2ip($nBroadcast));
?>
//ネットワークアドレス string(11) "192.168.0.0" //ブロードキャストアドレス string(13) "192.168.0.255"
<?php
/**
* IPアドレス変換(10進数→2進数)
* 引数:対象
* 戻値:結果
*/
function _chgIPDecToBin($p_sValue) {
$sConvert = false;
$arrWk = explode('.', $p_sValue);
if (count($arrWk) === 4) {
$sWk = '';
foreach ($arrWk as $key=>$row) {
$sWk .= sprintf('%08b', $row);
}
$arrWk2 = str_split($sWk, 8);
$sConvert = implode(' ', $arrWk2);
}
return $sConvert;
}
//IPアドレス
var_dump(_chgIPDecToBin('192.168.0.1'));
//サブネットマスク
var_dump(_chgIPDecToBin('255.255.255.0'));
//ネットワークアドレス
var_dump(_chgIPDecToBin('192.168.0.0'));
//ブロードキャストアドレス
var_dump(_chgIPDecToBin('192.168.0.255'));
?>
//IPアドレス string(35) "11000000 10101000 00000000 00000001" //サブネットマスク string(35) "11111111 11111111 11111111 00000000" //ネットワークアドレス string(35) "11000000 10101000 00000000 00000000" //ブロードキャストアドレス string(35) "11000000 10101000 00000000 11111111"