首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP循环与预测

PHP循环与预测
EN

Stack Overflow用户
提问于 2013-05-14 05:48:30
回答 5查看 266关注 0票数 0

我将用一个例子来解释我的问题。

  1. 我有一组电子邮件it (从db获取,它将是动态的)。假设有100个电子邮件ids
  2. 我需要将它们分组,计数为10。换句话说,100个电子邮件I除以10 =>,这样就会有10个循环。
  3. 输出应该如下所示

Group1:--前十封电子邮件ids

Group2:-接下来的十个电子邮件ids。。。。。

Group3:--最后十封电子邮件ids

以下是我的php代码(我已经修改/更正了我的代码)

代码语言:javascript
复制
    <?php
    $con=mysql_connect("localhost","root","admin");
    mysql_select_db("test1",$con);
    $sel=mysql_query("SELECT DISTINCT emailaddress FROM userlist");
    while($row=mysql_fetch_array($sel))
    {
    $mail[]=$row['emailaddress'];
    }


    $chunk = array_chunk($mail, 10);
    $get_chunk_count = count($chunk);


    for($i=0;$i<$get_chunk_count;$i++){
    echo "Group :".$i;
    echo "<br>";
    echo "========";
    echo "<br>";
    $count_inside_count = count($chunk[$i]);

    for($j=0;$j<=$count_inside_count;$j++){
    echo "<pre>";
    echo $chunk[$i][$j];
    echo "</pre>";
    }
    }
    ?>

编辑:以上代码工作正常,我已经编辑过了。(谢谢你的帮助:)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-14 06:00:31

您可以使用PHP的array_chunk()函数将数组分解为较小的块。

没有测试,但我认为应该很接近。

代码语言:javascript
复制
$chunk = array_chunk($mail, 10);
$i = 0;
do
{
    echo $chunk[$i] . '<br />';
    $i++;
    if($i == 10)
        sleep(10);
} while ($i < count($chunk)); 
票数 3
EN

Stack Overflow用户

发布于 2013-05-14 05:58:45

当您只需将它们打印成不同的块时,我不知道为什么要将它们分成组;但是,如果我通过使用这个php睡眠方法正确地理解了您的目标,那么您应该能够打印10个IDs,等待10秒,然后打印下一个10个Ids等等,直到您的完整列表用完为止。

代码语言:javascript
复制
   $temp = 0;
   for($i=1;$i<=$no_of_emails;$i++){
     echo "stuff";
     temp++;
     if(temp == 10){
       sleep(10);  
       temp = 0;
     }
   }
票数 1
EN

Stack Overflow用户

发布于 2013-05-14 06:07:43

如果我的理解是正确的--下面的代码将适用于你.

代码语言:javascript
复制
$con=mysql_connect("localhost","root","admin");
mysql_select_db("test1",$con);
$sel=mysql_query("SELECT DISTINCT emailaddress FROM userlist");
$email=mysql_fetch_array($sel);
 $num_rows=mysql_num_rows($sel);
$counter = 0;
for($i=1;$i<=$num_rows;$i++){
 echo $email[$i];
 $counter++;
 if($counter== 10){
   sleep(10);  
   $counter= 0;
 }

}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16535982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档