PHP實現IP 數字互相轉換

2021-09-01 16:41:03 字數 834 閱讀 4457

<?php

// 將ip轉換為數字

function ipton($ip)

$ipstr .= $iphex; // 將四段ip的16進製制數連線起來,得到乙個16進製制字串,長度為8

} return hexdec ( $ipstr ); // 將16進製制字串轉換成10進製,得到ip的數字表示

}// 將數字轉換為ip,進行上面函式的逆向過程

function ntoip($n)

// 這是因為ipton函式得到的16進製制字串,如果第一位為0,在轉換成數字後,是不會顯示的

// 所以,如果長度小於8,肯定要把第一位的0加上去

// 為什麼一定是第一位的0呢,因為在ipton函式中,後面各段加的'0'都在中間,轉換成數字後,不會消失

for($i = 0, $j = 0; $j < $len; $i = $i + 1, $j = $j + 2)

$ip = hexdec ( $ippart ); // 將每段16進製制數轉換成對應的10進製數,即ip各段的值

} return implode ( '.', $ip ); // 連線各段,返回原ip值

}echo ipton ( '10.122.22.1' );

echo '

';echo ntoip ( '1712068097' );

?>

mysql自帶了inet_aton函式來實現將ip位址轉換為數字,inet_ntoa函式將數字轉換為ip。

select inet_aton( '10.122.22.1' )

IP與數字互相轉換(PHP )

將ip轉換為數字 functionipton ip ipstr.iphex 將四段ip的16進製制數連線起來,得到乙個16進製制字串,長度為8 returnhexdec ipstr 將16進製制字串轉換成10進製,得到ip的數字表示 將數字轉換為ip,進行上面函式的逆向過程 functionntoi...

PHP中IP位址與整型數字互相轉換詳解

ip轉換成整型儲存是資料庫優化一大趨勢,不程式設計客棧少人目前儲存ip時還在使用字串型別儲存,字串索引比整型索引消耗資源很多,特別是表中資料量大的時候,以及求查詢某乙個ip段的資料,今天說的ip是指ip4,ip6不在本文範圍內。系統函式ip2long與long2ip php中有內建函式ip2long...

IP位址轉 整數互相轉換

知識點 乙個二進位制數,按位左移n位,就是把該數的值乘以2的n次方 二進位制除二即右移一位 1 ip位址轉換為整數 乙個無符號32為整數。每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 public class ip pub...