2013-08-23 3 views
-2

У меня есть это PHP Еогеасп цикл:с помощью 2 петли в PHP Еогеаспе (...)

foreach($emails_list as $email) 

, но я хочу сделать что-то вроде

foreach($emails_list as $email and $forename_list as $forename) 

моего кода выше цикла Еогеаспа является:

$sql2="SELECT * from contacts where company_sequence = '".$customersequence."' and contactstatus = '' "; 
      $rs2=mysql_query($sql2,$conn) or die(mysql_error()); 
      while($result2=mysql_fetch_array($rs2)) 
      { 
       $emails_list[] = $result2["email"]; 
      } 

си я хочу, чтобы иметь возможность включать $result["forename"]; внутри цикла слишком

будет ли вышеупомянутая работа сделать 2 петли?

+0

Если массивы находятся в том же порядке, вы можете использовать 'array_combine' для создания одного массива. –

+3

Чего вы пытаетесь сделать? Как выглядят ваши массивы? Зачем вам нужен доступ в одном цикле? Объясните фактическую проблему, а не то, как вы ее пытаетесь решить. Возможно, может помочь мультипликатор SPL; но если вы не объясните, мы не можем знать, что посоветовать, только гадать –

+0

см. мое редактирование .... – user2710234

ответ

0

Не уверен, что, если понять, но попробуйте использовать for вместо:

$emails_list = array("[email protected]", "[email protected]", "[email protected]", "[email protected]"); 
$forename_list = ("01 something", "02 something", "03 something", "04 something"); 

if($emails_list == $forename_list){ 
    $count = count($emails_list); 

    for($i=0;$i<$count;$i++){ 
    echo 'Email: '.$emails_list[$i].', Name: '.$forename_list[$i]; 
    } 
} else { echo 'Troubles'; } 
+0

Вы не должны использовать 'count ($ emails list)' внутри цикла init для повышения производительности – Sugar

+0

Что вы предлагаете, а не 'count'? – M1K1O

+2

'$ count_temp = count ($ emails_list);' Затем используйте цикл '$ count_temp' в цикле, поэтому он не будет засчитываться каждый раз, когда вы зацикливаете – Sugar

0

нет никакого способа сделать это в Еогеасп в одном даного

для этого использовать для петли, как

for ($i=0;$i<=count($emails_list); $i++) { 
echo $emails_list[$i]; 
echo $forename_list[$i]; 
} 
+0

Вы не должны использовать 'count ($ emails list)' внутри цикла init для повышения производительности. – Sugar

+0

У вас возникнут проблемы, если $ forename_list меньше $ emails_list – pikand

0

Все примеры, перечисленные в базовом цикле, будут отлично работать для числовых массивов, однако как насчет ассоциативных массивов? Лучший способ сделать это было бы что-то вроде следующего:

$arr_1 = array('foo'=>'bar', 'fizz'=>'bang'); 
$arr_2 = array('hello'=>1, 2=>'world'); 

$array_size = count($arr_1); // NOTE: This assumes the arrays are of the same size. 

// Reset the internal array pointers 
reset($arr_1); 
reset($arr_2); 

for ($i = 0; $i < $array_size; $i++) { 
    $first_array_element = current($arr_1); 
    $second_array_element = current($arr_2); 

    // code here 

    next($arr_1); 
    next($arr_2); 
} 

Это будет обрабатывать как ассоциативное и числовые массивы.

Смежные вопросы