Я пытаюсь разделить строку (IP-адрес), чтобы получить каждую часть IP-адреса в отдельные переменные.
Например, $ ip = "123.124.125.126"
Я хотел бы получить: $ ip1 = "123", $ ip2 = "124" отдельно, разбивая переменные с использованием периода.
Я получаю IP-адрес, используя этот код:
<?php $ip = getenv('HTTP_CLIENT_IP')?: getenv('HTTP_X_FORWARDED_FOR')?: getenv('HTTP_X_FORWARDED')?: getenv('HTTP_FORWARDED_FOR')?: getenv('HTTP_FORWARDED')?: getenv('REMOTE_ADDR'); echo $ip; ?>
Вы можете использовать explode
и list
.
list($ip1, $ip2, $ip3, $ip4) = explode(".", "192.168.1.1");
Вы действительно должны смотреть на explode ();
$ip_parts = explode (".", $_SERVER['REMOTE_ADDR']);
затем получить детали через
$ip_parts[0], $ip_parts[1]; //etc..
Explode разбивает строку на массив на первый аргумент, заданный для функции в этом случае. в более сложных случаях вы можете использовать preg_split, где вы можете обеспечить регулярное выражение.
Если вы хотите правильную проверку IP-адресов, вы также можете получить IP-части с помощью preg_match.
Я считаю, что функция, которую вы ищете, называется explode ()
Синтаксис: взрыв (разделитель, строка, лимит)
<?php $str = "Hello world. It's a beautiful day."; print_r (explode(" ",$str)); ?>
Более подробную информацию можно найти здесь