Конвертирует строку, содержащую IPv4-адрес в целое число

# ip2long

(PHP 4, PHP 5, PHP 7, PHP 8)

ip2long — Конвертирует строку, содержащую IPv4-адрес в целое число

### Описание

function ip2long(string `$ip`): int|false

Функция ip2long() преобразовывает IPv4-адрес сети Интернет из стандартного формата (строка с точками) в целое число.

Функция ip2long() также будет работать с неполными IP-адресами. Смотрите » http://ps-2.kev009.com/wisclibrary/aix52/usr/share/man/info/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm для более подробной информации.

### Список параметров

`ip`

  Адрес в стандартном формате.

### Возвращаемые значения

Возвращает целое число или `false`, если параметр `ip` содержит ошибку.

### Примеры

Пример #1 Пример использования ip2long()

    <?php
    $ip = gethostbyname('www.example.com');
    $out = "Следующие URL эквивалентны:<br />\n";
    $out .= 'http://www.example.com/, http://' . $ip . '/, и http://' . sprintf("%u", ip2long($ip)) . "/<br />\n";
    echo $out;
    ?>

Пример #2 Отображение IP-адресов

Второй пример показывает как выводить сконвертированные адреса с помощью функции printf():

    <?php
    $ip   = gethostbyname('www.example.com');
    $long = ip2long($ip);

    if ($long == -1 || $long === FALSE) {
        echo 'Неверный IP-адрес, попробуйте ещё раз';
    } else {
        echo $ip   . "\n";            // 192.0.34.166
        echo $long . "\n";            // -1073732954
        printf("%u\n", ip2long($ip)); // 3221234342
    }
    ?>

### Примечания

> Замечание:

> Ввиду того, что тип PHP int является знаковым, и на 32-битных системах многие IP-адреса будут представлены в виде отрицательных чисел, необходимо использовать "%u" в функции sprintf() или printf() для получения IP-адреса в строковом беззнаковом виде.

> Замечание:

> Функция ip2long() возвратит `-1` для IP `255.255.255.255` в 32-битных системах из-за целочисленного переполнения.

### Смотрите также

- long2ip() - Конвертирует целое число в IPv4-адрес
- sprintf() - Возвращает отформатированную строку

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open