php ip2longでipアドレスを数値に変換する

  • 作成日 2021.11.15
  • php
php ip2longでipアドレスを数値に変換する

phpで、ip2longを使用して、ipアドレスを数値に変換するサンプルコードを記述してます。DBなどに書き込むときに便利です。phpのバージョンは8.0です。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • php 8.0.0
  • nginx 1.14.1

ip2long使い方

ip2longを使用すれば、ipアドレスを数値に変換することが可能です。

ip2long(IPアドレス形式);

以下は、ipアドレスを数値に変換するサンプルコードとなります。

<?php

$result = ip2long("192.168.1.100");

if ($result !== false) {
    var_dump($result);
} // int(3232235876)

不正なIPアドレスの場合は、falseが返ります。

<?php

$result = ip2long("192.168.1100");

var_dump($result); // bool(false)

$result = ip2long(" 255.255.255.256");

var_dump($result); // bool(false)

また、ipアドレスから数値に戻す場合は、long2ipを使用します。

<?php

$result = ip2long("192.168.1.100");

if ($result !== false) {
    var_dump(long2ip($result)); // string(13) "192.168.1.100"
}