Vale, una solución que se me ocurre a bote pronto, sin modificar tu formulario es esta:
Código PHP:
<?php
if(isset($_POST['editar'])){
foreach($_POST['editar'] as $pos => $a){
echo'<meta http-equiv="REFRESH" content="0;url=editar.php?id='.$pos.'">';
}
}
for($i=0; $i<count($users); $i++){
...
<TD> <input type="submit" id="editar[]" name="editar[<?php echo $i; ?>]" value="Editar"/> </TD>
<TD> <input type="hidden" name="idUser[]" value=<?php echo $users[$i][$id]; ?> />
<input type="checkbox" name="cb[]" id="cb[]" /> </TD>
<TR><?php
}?>
Te voy a explicar un poco lo que hice, el array de los botones de editar se generará tomando la vaibale $i como valor para la clave en cada caso. Además he pensado que lo que tu querías era redirigir a otra página (editar.php) a la que le pasas por GET la referencia del usuario.
Obviamente a ti no te sirve de nada el valor que toma $i así que tú ahí tendrás que poner el valor de id de cada usuario, que en tú caso creo que usas el nombre como tal.
Si no querías redirigir puedes poner dentro del foreahc, $user_edit = $pos; y al salir del bucle haces lo que quieras con él valor.
Atento, si lo que querías era redirigir a otra página para editar a la que le pasas el valor por GET habría soluciones más sencillas, como sería cambiar tu botón Editar por esto:
Código PHP:
<TD> <a href="editar.php?id='.$i.'"><button value="Editar"/>Editar</button></a> </TD>
Como ya dije la varibale $i la debes sustituir por el identificador de tus usuarios.
Espero que te sirva.