2012-08-26 2 views
0

난 내 MySQL 데이터베이스에이PHP는 MySQL의 foearch는

email have 5 value 
user have 15 value 

내가 어떻게 루프는 PHP의 foreach를 사용하여이

email   user 
[email protected] user1 
[email protected] user2 
[email protected] user3 
[email protected] user4 
[email protected] user5 
[email protected] user6 
[email protected] user7 
[email protected] user8 
-------------------- 
and so on.... 

같은과 이메일. .. 사용자가 이메일 값을 반복 할 때 루프가 반복되고 이메일 값의 끝에 도달하면 이메일이 처음으로 다시 시작됩니다. [email protected]

foreach에서이 작업을 수행하거나 잠시 동안 할 수 있습니까? 이 같은

+1

2 사용자가 동일한 이메일을? 이상하게 여길까요? – Samson

+0

여기에 사용자와 이메일의 모든 순열을 생성하려고합니까? 당신이하려는 것은 의미가 없습니다! – Eric

+0

죄송 이메일과 사용자는 단지 예일뿐입니다. 미안하지만 내가 분명히하지 않으면 ... 오렌지, 사과, 포도, 바나나, 키위 등 과일 다섯 개를 가지고 있다고 말하게하고, 데이터베이스 레코드 15에서는 모든 사용자에게 반복됩니다. 'MR의 게시물. NomikOS Answers는 완벽한 샘플입니다. NomikOS ... – Butternut

답변

0
$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

0
$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); 
0

뭔가 :

$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]; 
}