el código que utilizas es correcto, pero aún así puedes usar algo mas corto...
además, debes depurar tus variables antes de utilizarlas... para prevenir equivocaciones
Código PHP:
var_dump($_POST);
foreach ($_POST['foo'] as $key => $value)
{
echo '<pre>';
print_r($value); // $_POST['foo'][$key]
print_r($_POST['bar'][$key]);
echo '</pre>';
}
una cosa muy importante es mantener asociados tus índices
name, de alguna forma... aunque sea numérica
Código HTML:
<input name="foo[1]"/>
<select name="bar[1]"/>
<input name="foo[2]"/>
<select name="bar[2]"/>
de este modo conservamos una lógica secuencial en nuestra información...
Edito: recién noté que usas
multiple como atributo de los <select/>, esto cambia radicalmente el comportamiento de la variable que emplearías en tu script.... me parece, que sin dicho atributo se consigue un solo valor por <select/>, de otra forma se convierte en
array() el valor con las opciones seleccionadas