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读取数据库并按照中文名称进行排序实现代码

有时候我们读取数据库输出的时候可能会需要按照中文用户名的方式进行排序,传统的MySQL查询代码如下: 复制代码 代码如下: $sql="SELECT * FROM users";//传统...

关于PHP堆栈与列队的学习

在PHP中数组常被当作堆栈(后进先出:LIFO)与队列(先进先出:FIFO)结构来使用。PHP提供了一组函数可以用于push与pop(堆栈)还有shift与unshift(队列)来操作数...

PHP使用HTML5 FileApi实现Ajax上传文件功能示例

PHP使用HTML5 FileApi实现Ajax上传文件功能示例

本文实例讲述了PHP使用HTML5 FileApi实现Ajax上传文件功能。分享给大家供大家参考,具体如下: FileApi是HTML5的一个新特性,有了这个新特性,js就可以读取本地的...

PHP 魔术变量和魔术函数详解

魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量。 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有八个...

解决PHP超大文件下载,断点续传下载的方法详解

最近导出的时候出现一个php内存溢出的问题,原因就是在于下载的时候读取生成的临时文件过大,PHP内存无法容纳,一开如是想到更改PHP内存限制,但是这个只是一个缓兵之计,于是想到了另外一个...