gpt4 book ai didi

php - 有兴趣制作一个 PHP 脚本,将 IP 地址从定义的起始地址递增到定义的结束地址

转载 作者:可可西里 更新时间:2023-10-31 22:08:17 27 4
gpt4 key购买 nike

我知道我可以通过首先使用 PHP 内置函数(如 up2longlong2ip)将 IP 地址转换为十进制表示法来轻松完成此操作。我只是希望能够使用标准 IP 地址表示法作为练习来做同样的事情。

我想的问题是这样的:给定一个起始 IP 地址,比如 192.168.1.100,和一个结束 IP 地址,比如 201.130.22.10。编写打印该范围内所有地址编号的程序(192.168.1.100、192.168.1.101、...、201.130.22.9、201.130.22.10)。

我在想,也许要走的路是在 while 条件中创建一个嵌套的 for 循环,直到起始地址的第一个八位字节与第一个八位字节匹配的结束地址。然后对第二个八位位组执行相同的代码块,依此类推,直到程序到达结束地址并完成。

我最近才开始学习编程,所以我的思维和/或编写代码很可能远谈不上优雅。如果是你,你会怎么做?

最佳答案

像这样:

<?php

// works only for valid range
$start_ip = '10.0.0.1';
$end_ip = '10.0.20.1';

$start_arr = explode('.',$start_ip);
$end_arr = explode('.',$end_ip);

while($start_arr <= $end_arr)
{
echo implode('.',$start_arr) . '<br>';

$start_arr[3]++;
if($start_arr[3] == 256)
{
$start_arr[3] = 0;
$start_arr[2]++;
if($start_arr[2] == 256)
{
$start_arr[2] = 0;
$start_arr[1]++;
if($start_arr[1] == 256)
{
$start_arr[1] = 0;
$start_arr[0]++;
}
}
}
}

?>

关于php - 有兴趣制作一个 PHP 脚本,将 IP 地址从定义的起始地址递增到定义的结束地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1963623/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com