PHP IP地址和十进制数字互转
IPV4 可以看做4个256进制的数字, 可以按常规的进制转换换算成十进制.
如 192.168.1.1 换算成10进制:
192*256*256*256 + 168*256*256+1*256+1
其实计算机更擅长移位和与或运算. 可以改进算法如下.
IP 转长整型
public ipToInt($sIP)
{
$aIP = explode('.',$sIP);
$iIP = ($aIP[0] << 24) | ($aIP[1] << 16) | ($aIP[2] << 8) | $aIP[3]
if($iIP < 0) $iIP += 4294967296;
return $iIP;
}
整型转 IP:
function intToIP($iIP)
{
$xor = array(0x000000ff,0x0000ff00,0x00ff0000,0xff000000);
for($i=0; $i<4; $i++)
{
${s.$i} = ($iIP & $xor[$i]) >> $i*8;
if (${s.$i} < 0) ${s.$i} += 256;
}
return $s3.'.'.$s2.'.'.$s1.'.'.$s0;
}
相关文档:
最近在Greg Beaver's的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题。
在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一。在使用 == 运算符对两个字符串进行松散比较时,PHP会把类数 ......
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<input type="button" onclick="test();" value="提交"/>
<script type="text/javascript">
function test(){
var valid = {
& ......
以前分析xdebug用的是(wincachegrind)http://sourceforge.net/projects/wincachegrind/
现在直接安装webgrind来调试速度会更好
http://xdebug.org/
下载地址:
Source:
xdebug 2.0.3
Windows modules:
PHP 5.1.2-5.1.7
PHP 5.2.1-5.2.6
PHP 5.3.0dev
windows
编辑php.ini,先注释掉zend:
[Zend]
;zend ......
不得不自已写一个.XML
的操作一直没有用过.下面是自己搜集的XML操作类
DOMDocument相关的内容.
属性:
Attributes 存储节点的属性列表(只读)
childNodes
存储节点的子节点列表(只读)
dataType 返回此节点的数据类型
Definition 以DTD或XML模式给出的节点的定义(只读)
Doctype 指定文档类型节点(只读)
doc ......