Salve a tutti, ho un piccolo problema durante la stampa a video di un array contenente il risultato di una query, l'array si presenta così

codice:
Array ( [0] => Array ( [nome] => Animelab [indirizzo] => www.animelab.forumcommunity.it [peso] => 2 ) [1] => Array ( [nome] => Centro ortopedico sanitario srl marche... [indirizzo] => http://www.neriteam.it/ [peso] => 2 ) [2] => Array ( [nome] => ortopedia macerata [indirizzo] => www.ortopediamc.it [peso] => 2 ) [3] => Array ( [nome] => hospital marche [indirizzo] => www.hospitalmarche.it [peso] => 1 ) )
quello che vedete è stato ricavato da print_r , per stampare tutti gli elementi però faccio in questo modo

codice:
$i=0;
$n=1;

echo"<table id='tabella4' >";
while($i<=$lenght){

echo"<tr><td>";
echo"$n</td><td>";
echo"<td>";
echo"<a href='prova5.php?indirizzo=$indirizzo'>";

echo $siti_pesati[$i]["indirizzo"];
echo"</a>";

echo"</td>";
echo"<td>";
echo $siti_pesati[$i]["nome"];
echo"</td><td>";
echo "<p style='color:red'>";
echo $siti_pesati[$i]["peso"];
echo "</p>";
echo"</td>";
$i++;
$n=$n+1;
echo"</tr>";
}
echo"</table>";
quello che accade è che spesso la lunghezza dell'array non rispecchia quella data dalla funzione count, perciò qualche volta mi dice di essere più corto di quello che realmente è e mi taglia l'ultimo elemento, come posso risolverlo?esiste un'altra funzione simile a count?
grazie a tutti!