Várias variables ​​de índice no loop PHP foreach

É possível ter um loop foreach em PHP com múltiplas variables ​​”index”, semelhante ao seguinte (que não usa a syntax correta)?

 foreach ($courses as $course, $sections as $section) 

Caso contrário, existe uma boa maneira de alcançar o mesmo resultado?

para alcançar exatamente esse resultado que você poderia fazer

 foreach (array_combine($courses, $sections) as $course => $section) 

mas isso só funciona para dois arrays

Se ambos os arrays são do mesmo tamanho, você pode usar um loop for como:

 for($i=0, $count = count($courses);$i<$count;$i++) { $course = $courses[$i]; $section = $sections[$i]; } 

Você precisaria usar loops nesteds como este:

 foreach($courses as $course) { foreach($sections as $section) { } } 

Claro, isso irá reverter cada seção para cada curso.

Se você quiser olhar para cada par, você está melhor usando os objects que contenham os pares de cursos / seções e otimizando esses, ou certifique-se de que os índices são os mesmos e fazendo:

 foreach($courses as $key => $course) { $section = $sections[$key]; } 

EXPERIMENTAR –

1)

  $value) { echo $FirstArray[$index].$SecondArray[$index]; echo "
"; } ?>

ou 2)

 "; } ?> 

Não, porque esses arrays podem ter outros itens.

Você deve escrever explicitamente algo assim:

 for ($i = 0; $i < count($courses) && $i < count($sections); ++$i) { $course = $courses[$i]; $section = $sections[$i]; //here the code you wanted before } 

Não, este é talvez um dos casos raros, os cursores da matriz do PHP são úteis:

 reset($sections); foreach ($courses as $course) { list($section) = each($sections); } 

O que isso faria, exatamente? São $courses e $sections apenas duas matrizes separadas e você deseja executar a mesma function para os valores em cada uma? Você sempre pode fazer:

 foreach(array_merge($courses, $sections) as $thing) { ... } 

Isso faz todos os pressupostos usuais sobre array_merge , é claro.

Ou é que $sections vem de $course e você quer fazer algo para cada seção em cada curso?

 foreach($courses as $course) { foreach($sections as $section) { // Here ya go } } 

como isso?

 foreach($array as $b=>$c){ }