Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何简化可以运行1次、5次或100次的PHP代码?_Php - Fatal编程技术网

如何简化可以运行1次、5次或100次的PHP代码?

如何简化可以运行1次、5次或100次的PHP代码?,php,Php,我有一个PHP代码,可以根据我设置的变量运行多次,如下所示: $pages = '2'; 代码的其余部分是这样的(实际上最多10条,但我只在这里写了其中的前3条): 在这种情况下,它将运行2次 这对我来说效果很好,只要我必须在5页甚至10页上运行它,但现在我可能需要运行50或100页,并且似乎需要为每个页面再次编写代码,可能需要为每个页面编写100次代码,这太过了 有什么简单的方法可以实现这一点吗?使用for循环很简单: for ($i = 1; $i <= $pages;$i++){

我有一个PHP代码,可以根据我设置的变量运行多次,如下所示:

$pages = '2';
代码的其余部分是这样的(实际上最多10条,但我只在这里写了其中的前3条):

在这种情况下,它将运行2次

这对我来说效果很好,只要我必须在5页甚至10页上运行它,但现在我可能需要运行50或100页,并且似乎需要为每个页面再次编写代码,可能需要为每个页面编写100次代码,这太过了


有什么简单的方法可以实现这一点吗?

使用for循环很简单:

for ($i = 1; $i <= $pages;$i++){
// your code
echo $i;
};

for($i=1;$i使用for循环很容易:

for ($i = 1; $i <= $pages;$i++){
// your code
echo $i;
};

for($i=1;$ifor循环允许您针对每个数字运行每行代码一次

在下面的示例中,$i将包含数字“1”,然后是“2”,然后是“3”,一直到您的最大值(50100,随便什么)

这是我的想法,我还没有测试过,但这是一个起点

$pervious_merge;
for ($i = 1; $i<=maximum_value; $i++){
    unlink('merge'.$i.'.json');
    $url = 'https://xxx.yyy.zzz/?offset='.$i*100;
    if ($pages >= $i){
        $grab = grab_file($url,'/home/dir/merge'.$i.'.json');
    }
    $decode = json_decode(file_get_contents('merge'.$i.'.json'));
    if ($pages == $i){
        $merge = array_interlace($previous_merge, (array)$decode->results);
        $previous_merge = $merge;
    }
}
$pervious\u merge;
对于($i=1;$i=$i){
$grab=grab_文件($url'./home/dir/merge'.$i..json');
}
$decode=json_decode(文件获取内容('merge'.$i..json');
如果($pages==$i){
$merge=array\u interlace($previous\u merge,(array)$decode->results);
$previous_merge=$merge;
}
}

for循环允许您针对每个数字运行每行代码一次

在下面的示例中,$i将包含数字“1”,然后是“2”,然后是“3”,一直到您的最大值(50100,随便什么)

这是我的想法,我还没有测试过,但这是一个起点

$pervious_merge;
for ($i = 1; $i<=maximum_value; $i++){
    unlink('merge'.$i.'.json');
    $url = 'https://xxx.yyy.zzz/?offset='.$i*100;
    if ($pages >= $i){
        $grab = grab_file($url,'/home/dir/merge'.$i.'.json');
    }
    $decode = json_decode(file_get_contents('merge'.$i.'.json'));
    if ($pages == $i){
        $merge = array_interlace($previous_merge, (array)$decode->results);
        $previous_merge = $merge;
    }
}
$pervious\u merge;
对于($i=1;$i=$i){
$grab=grab_文件($url'./home/dir/merge'.$i..json');
}
$decode=json_decode(文件获取内容('merge'.$i..json');
如果($pages==$i){
$merge=array\u interlace($previous\u merge,(array)$decode->results);
$previous_merge=$merge;
}
}

这个问题更适合我甚至不知道那个网站。谢谢!学会使用数组而不是编号的变量,然后你就可以写iterable循环这个问题更适合我甚至不知道那个网站。谢谢!学会使用数组而不是编号的变量,然后你就可以写iterable循环