如何简化可以运行1次、5次或100次的PHP代码?
我有一个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++){
$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循环