Home >Backend Development >PHP Problem >How to use php ip2long function
php The ip2long function is used to convert the IPV4 string Internet protocol into a long integer number. Its usage syntax is "ip2long (string $ip_address): int", and the parameter "ip_address" represents an address in a standard format.
php ip2long function
ip2long — Converts an IPV4 string Internet protocol to a long integer number
Description
ip2long ( string $ip_address ) : int
The function ip2long() returns the long integer format of the IPV4 network address, converted from the standard network address format (dot string).
ip2long() 还可以与非完整IP进行工作。 阅读 » http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm 获得更多信息。
Parameters
ip_address
An address in a standard format.
Return value
Returns the converted number of the IP address or FALSE if ip_address is invalid.
Change log
Version
5.5.0 Prior to this version, on Windows ip2long() would sometimes return a valid number even if passed a value which was not an (IPv4) Internet Protocol dotted address.
5.2.10 Prior to this, ip2long() would sometimes return a numeric address even though this was not an IPv4 canonical address.
Example
Example #1 ip2long() Example
<?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; ?>
Example #2 Display IP address
The second example illustrates printing a conversion The last address uses the printf() function in PHP4 and PHP5:
<?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:
Because PHP's integer type is signed, and there are many IPs The address is negative in the case of 32-bit systems, and you need to use "%u" to convert the string obtained by sprintf() or printf() to represent the unsigned IP address.
Note:
ip2long() will return FALSE when the IP is 255.255.255.255 and the version is PHP 5 <= 5.0.2. After the fix, PHP 5.0.3 will return - 1 (Same as PHP4).
For more related knowledge, please visit PHP Chinese website!
The above is the detailed content of How to use php ip2long function. For more information, please follow other related articles on the PHP Chinese website!