Si tienes problemas con un array lo primero, var_dump($array);
Ahora, al mirar el bucle while que tienes construído, lo que haces es equivalente a multiplicar el valor de habitantes por 10, no estás recorriendo el array, solo sumas 10 lo que hay en $a['habitantes'] 10 veces.
Si lo que pretendías era sumar el número de habitantes de todas las ciudades, así no lo vas a conseguir, puesto que tienes un bucle que se ejecuta 10 veces para cada resultado de la consulta, es decir para cada ciudad(no sé porque has elegido 10, si es porque tienes solo 10 ciudades que harás cuando tengas 11, luego 12, etc).
Si quieres saber el número de habitantes totales, o bien lo haces a través de otra consulta o haces la suma en el primer while:
Código PHP:
Ver original$suma = 0;
$suma += $rows['habitantes'];
mostrar_datos($rows,$suma,$x);
}
echo $suma.'<br/>';
Técnicamente lo más correcto sería obtenerlo con otra consulta, pero de esta última manera te ahorras una consulta y como el bucle ya está hecho...
Todo esto es suponiendo que he interpretado bien lo que pretendías, porque no has dado ninguna información de lo que querías hacer ni de que había en tus consultas o variables, así que puede que haya escrito algo que no tiene nada que ver con lo que tienes.
Un saludo.