php ip2long 関数は、IPV4 文字列インターネット プロトコルを長い整数に変換するために使用されます。その使用構文は「ip2long (string $ip_address): int」で、パラメータ「ip_address」はアドレスを表します標準フォーマット。
php ip2long 関数
ip2long — IPV4 文字列インターネット プロトコルを長整数に変換します
説明
ip2long ( string $ip_address ) : int
関数 ip2long() は、標準ネットワーク アドレス形式 (ドット文字列) から変換された、IPV4 ネットワーク アドレスの長整数形式を返します。
ip2long() 还可以与非完整IP进行工作。 阅读 » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm 获得更多信息。
パラメータ
ip_address
標準形式のアドレス。
戻り値
IP アドレスを変換した数値、または ip_address が無効な場合は FALSE を返します。
変更ログ
バージョン
5.5.0 このバージョンより前のバージョンでは、Windows の ip2long() は、値が渡された場合でも有効な数値を返すことがありました。 (IPv4) インターネット プロトコルのドット アドレスではありません。
5.2.10 これより前は、IPv4 標準アドレスではない場合でも、ip2long() は数値アドレスを返すことがありました。
例
例 #1 ip2long() 例
<?php $ip = gethostbyname('www.example.com'); $out = "The following URLs are equivalent:<br />\n"; $out .= 'http://www.example.com/, http://' . $ip . '/, and http://' . sprintf("%u", ip2long($ip)) . "/<br />\n"; echo $out; ?>
例 #2 IP アドレスの表示
2 番目の例は、変換の出力を示しています。最後のアドレスは、PHP4 および PHP5 の printf() 関数を使用します。
<?php $ip = gethostbyname('www.example.com'); $long = ip2long($ip); if ($long == -1 || $long === FALSE) { echo 'Invalid IP, please try again'; } else { echo $ip . "\n"; // 192.0.34.166 echo $long . "\n"; // -1073732954 printf("%u\n", ip2long($ip)); // 3221234342 } ?>
Note
Note:
PHP の整数型は符号付きであり、多くの IP があるため、アドレスは次のようになります。 32 ビット システムの場合は負の値であり、「%u」を使用して、sprintf() または printf() で取得した文字列を署名のない IP アドレスを表すように変換する必要があります。
注:
IP が 255.255.255.255 で、バージョンが PHP 5
さらに関連する知識については、PHP 中国語 Web サイト!
を参照してください。以上がPHPのip2long関数の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。