实战-php实现ip地址转为点分二进制 发表于 2020-05-19 | 分类于 php | | 阅读数 ☺ php不使用进制转换内置函数实现十进制ip地址转换为二进制 123456789101112131415161718192021222324252627282930313233343536373839404142434445public function Ip() { $ip='192.168.1.1'; $result=$this->binIp($ip); echo $result; } public function binIp($ip) { //字符串分割 数组便于处理 $arr = explode('.',$ip); $arr1 = []; foreach ($arr as $k){ $arr1[]=$this->dec2bin($k); } //数组转为字符串 $ip = implode('.',$arr1); return $ip; } /** * Notes: 十进制转为二进制 * User: suzijia * Date: 2020/5/19 * Time: 2:45 PM * @param $dec * @return string */ function dec2bin ($dec) { $flag = array(); //把一个十进制除二取余数,依次放到数组之中 while ($dec != 0) { array_push($flag,$dec%2); $dec = (int)($dec/2); } //依次取出数组的最后一个拼接成一个字符串 $binstr = ''; while (!empty($flag)) { $binstr .= array_pop($flag); } return $binstr; }