2012-03-09 57 views
0

脚本:foreach数组?

include_once 'simple_html_dom.php'; 
$ckfile = 'cookie.txt'; 
foreach (range('a', 'z') as $letters) { 
    echo $letters; 
} 

foreach (range('1', '100') as $numbers) { 
    echo $numbers; 
} 
    $ch = curl_init ("http://site/test.php?letter=".$letters."&page=".$numbers.""); 
    curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    $output = curl_exec ($ch); 

$html = str_get_html(''.$output.''); 

foreach($html->find('a') as $element) { 
     echo $element->href . '<br>'; 
} 

正如你可以看到有三个数组分隔,一个接一个的作品,但他们如何“放在一起”中的一个的foreach做“工作”?

等。我不熟悉的foreach毕竟,如果我没记错的话,这是我第二次与“他们” ......

回答

1
include_once 'simple_html_dom.php'; 
$ckfile = 'cookie.txt'; 

foreach (range('a', 'z') as $letters) { 
    echo $letters; 
    foreach (range('1', '100') as $numbers) { 
     echo $numbers; 
     $ch = curl_init ("http://site/test.php?letter=".$letters."&page=".$numbers.""); 
     curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile); 
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
     $output = curl_exec ($ch); 

     $html = str_get_html(''.$output.''); 

     foreach($html->find('a') as $element) { 
      echo $element->href . '<br>'; 
     } 
    } 

    echo $numbers; 
} 

但这脚本将执行几分钟......你需要什么?

+0

它的工作原理,谢谢,它比我预期的更简单... – ZeroSuf3r 2012-03-09 11:20:18

2
foreach (array_merge($arr1, $arr2, $arr3) as element) { /* do something */ } 

array_merge()

+0

使用此代码@ ZeroSuf3r将无法发送正确的请求 – 2012-03-09 11:15:55

+0

@meze方法的作品,但也有趣的是,你也可以保存在某个地方,也许它有一天会有所帮助,谢谢。 – ZeroSuf3r 2012-03-09 11:20:03

+0

@ a.tereschenkov它不是我的业务bugfix。 OP要求一种方法一个接一个地迭代几个数组。 – KingCrunch 2012-03-09 11:34:14