El foreach de arriba es erróneo.
Ejemplo foreach:
Código PHP:
<?
$arr=array();
$arr['campo1']='a';
$arr['campo2']='b';
foreach($arr as $key => $value){
echo $key."->".$value." |"; // campo1->a | campo2->b |
}
?>
En tu caso no estas iterando el $_POST lo cual podría ser correcto según lo que quieras hacer, tu estas iterando en $_POST['algo'];
Como este $_POST['algo'] viene de otra web es imposible que traiga un array, por lo que estas iterando sobre un string.
Código PHP:
<?
$arr="ab";
foreach($arr as $key => $value){
echo $key."->".$value." |"; // Warning: Invalid argument supplied for foreach() in C:\xxx.php on line 573
}
?>
Por otra parte el hecho de que no sepas la cantidad de filas no es un problema, count($arr) te devuelve la cantidad.
Código PHP:
<?
for($i=0; $i<count($arr); $i++){
print_r($arr[$i]); //print_r sirve para printar arrays, de esta forma imprimirias TODAS las filas por pantalla.
}
?>
EDITO: Este mensaje es para Jlopez2014 que se me han adelantado al publicar.