$arr1 = explode(".", $startip);
$arr2 = explode(".", $endip);
function ipRange($startIp, $endIp) {
$start = ip2long($startIp);
$end = ip2long($endIp);
return array_map(function ($ip) {
return long2ip($ip); // нам не надо проверять эти условия с нулями и 255.
}, range($start, $end));
}
<?php
function getip($start, $end)
{
$start_ip = sprintf("%u", ip2long($start)); //// приводим к десятичному числу
$end_ip = sprintf("%u", ip2long($end)); //// приводим к десятичному числу
$ip = array(); // создаем пустой массив
for ($i = $start_ip; $i <= $end_ip; $i++) // увеличиваем на единицу
{
$temp = long2ip($i); //приводим число снова в ip(строку) с увеличением на единицу
$arr = explode(".", $temp); //создаем массив из строки
if ($arr[3] > 0 && $arr[3] <= 255) // выбираем значение которые нас интересуют
$ip[] = $temp; // записываем эти значения в пустой массив
}
return $ip; // возвращаем одномерный массив
}
echo '<pre>';
print_r(getip("127.0.0.1", "127.0.2.255"));
echo '</pre>';
?>