php-mysql-foearch从电子邮件到用户具有相同的值


php mysql foearch with the same value from email to users

我的mysql数据库上有这个

email have 5 value
user have 15 value

我如何用这种来循环电子邮件

email          user
ya1@yahoo.com  user1
ya2@yahoo.com  user2
ya3@yahoo.com  user3
ya4@yahoo.com  user4
ya5@yahoo.com  user5
ya1@yahoo.com  user6
ya2@yahoo.com  user7
ya3@yahoo.com  user8
--------------------
and so on....

使用phpforeach。。。类似于当用户循环时,电子邮件值也会循环,当它到达电子邮件值的末尾时,电子邮件将重新开始到第一个ya1@yahoo.com

有可能在前臂上做这个吗?还是暂时做一下?

$e = array('email1', 'email2' /* , more email */);
$u = array('user1', 'user2', 'user3' /* , more users */);
$total_e = count($e);
$total_u = count($u);
$total   = $total_e * $total_u;
$counting_e  = 0;
$counting_u  = 0;
for ($i = 0; $i < $total; $i ++ )
{
    echo nl2br($e[$counting_e ++] . " => " . $u[$counting_u ++] . "'n");
    if ($counting_e == $total_e)
        $counting_e = 0;
    if ($counting_u == $total_u)
        $counting_u = 0;
}

测试:http://codepad.org/R5PpAKQW

$data = array();
$i=0;
foreach($users as $user){
if(isset($email[$i])){
$data[$email[$i]] = $user;
}
else{
$i=0;
$data[$email[$i]] = $user;
}
$i++;
}
print_r($data);

类似这样的东西:

$j=0;
for ($i=0;$i<count($users);$i++){
    if (count($email)<$j+1)
        $j=0;
    else
        $j++;
echo $users[$i].' has email: '.$email[$j];
}
相关文章: