PHP Network ip2long() Function
The PHP Network ip2long() function is used to converts an IP address from its common dotted format (e.g., 192.168.1.1) to a long integer. This is useful for storing or manipulating IP addresses more effectively.
This function takes one parameter: the IP address in string format. If the IP address is correct, it returns a large integer, otherwise, false. It can also deal with incomplete IP addresses. It is useful for working with IPv4 addresses in software.
Syntax
Below is the syntax of the PHP Network ip2long() function −
int ip2long ( string $ip )
Parameters
This function accepts $ip parameter which is a standard format address.
Return Value
The ip2long() function returns the long integer. And FALSE if IP address is invalid.
PHP Version
The ip2long() function is compatible with PHP versions 4, 5, 7, and 8.
Example 1
Here is the basic example of the PHP Network ip2long() function to convert the IP address to its long integer representation. The result will be printed to the screen.
<?php // A standard IPv4 address $ip = "192.168.1.1"; // Convert the IP address to a long integer $long = ip2long($ip); echo $long; ?>
Output
Here is the outcome of the following code −
3232235777
Example 2
In the below PHP code we will use the ip2long() function and check error if there is an invalid IP address is given. So the function will return false as the IP is not valid. The program displays an error message.
<?php
// An invalid IP address
$ip = "999.999.999.999";
// Try to convert the invalid IP address
$long = ip2long($ip);
if ($long === false) {
// Print an error message
echo "Invalid IP address.";
}
?>
Output
This will generate the below output −
Invalid IP address.
Example 3
Now the below program tries to convert a list of multiple IP addresses to long integers. It loops over each IP in an array and prints the respective long integer. This shows how ip2long() function can be used for multiple addresses.
<?php
// List of IP addresses
$ips = ["192.168.0.1", "10.0.0.5", "172.16.2.10"];
foreach ($ips as $ip) {
// Convert each IP address
$long = ip2long($ip);
echo "IP: $ip => Long: $long\n";
}
?>
Output
This will create the below output −
IP: 192.168.0.1 => Long: 3232235521 IP: 10.0.0.5 => Long: 167772165 IP: 172.16.2.10 => Long: 2886730250
Example 4
The PHP code example explains how to use the ip2long() method in combination with the gethostbyname() function. This code gets a domain's IP address and displays three URLs: one with the domain name, one with the IP address, and one in numeric IP format.
<?php
$ip = gethostbyname('www.tutorialspoint.com');
$out = "The following URLs are equivalent:
\n";
$out .= 'http://www.tutorialspoint.com/, http://' . $ip . '/,
and http://' . sprintf("%u", ip2long($ip)) . "/
\n";
echo $out;
?>
This will produce following result −
The following URLs are equivalent: http://www.tutorialspoint.com/, http://54.182.0.126/, and http://917897342/