php和js实现根据子网掩码和ip计算子网功能示例

yipeiwu_com6年前PHP代码库

本文实例讲述了php和js实现根据子网掩码和ip计算子网功能。分享给大家供大家参考,具体如下:

php

<?php
$ip = '192.168.6.1';
$mask = '255.255.2.0';
$sub_net = array();//子网
$ip_explode = explode('.', $ip);
$mask_explode = explode('.', $mask);
foreach ($ip_explode as $key => $ip_num) {
  $sub_net[] = (int)$ip_num & (int)$mask_explode[$key];
}
$sub_net = implode('.', $sub_net);
echo $sub_net;

运行结果:

192.168.2.0

js

<script>
var ip = '192.168.6.1';
var mask = '255.255.255.0';
var sub_net = [];//子网
var ip_explode = ip.split('.');
var mask_explode = mask.split('.');
  console.log('ip_explode='+ip_explode);
  console.log('mask_explode='+mask_explode); for (var i = 0, num = ip_explode.length; i < num; i++) {
  c = parseInt(ip_explode[i]) & parseInt(mask_explode[i]);
  console.log('c='+c);
  sub_net.push(c);
}
sub_net = sub_net.join('.');
console.log(sub_net);
</script>

运行结果:

感兴趣的朋友可以使用在线HTML/CSS/JavaScript前端代码调试运行工具http://tools.jb51.net/code/WebCodeRun测试上述代码运行效果。

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php正则表达式用法总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php对象工厂类完整示例

本文实例讲述了php对象工厂类。分享给大家供大家参考,具体如下: <?php /** * 对象工厂 * @author flynetcn */ class Obj...

PHP设计模式 注册表模式(多个类的注册)

以前我也写过一个注册表类,不过那一个不能进行多个类的注册,下面用数组对类进行了存储。 复制代码 代码如下: <?php //基础类 class webSite {//一个非常简单的...

使用PHPExcel导出Excel表

本文实例为大家分享了PHPExcel导出Excel表的具体代码,供大家参考,具体内容如下 /** * Excel导出 * @param $fileName(文件名)...

php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法

复制代码 代码如下: <?php // 说明:获取 _SERVER['REQUEST_URI'] 值的通用解决方案 function request_uri() { if (iss...

数组与类使用PHP的可变变量名需要的注意的问题

有时候可变的变量名会给编程带来很大的方便。也就是说变量名可以被动态的命名和使用。通常变量通过下面这样的语句来命名 :$a = 'hello';可变变量名指的是使用一个变量的值作为这个变量...