El primero parece un número fijo de datos.
El segundo se arregla con el mismo
str_pad(), pues tú le dices con qué caracter quieres que se rellene, a la izq. o derecha, y cuántos se deberá ocupar en total.
Por decir:
Código PHP:
<?
$cantidad[] = 458.02;
$cantidad[] = 45852.30;
$cantidad[] = 5;
$cantidad[] = 1000000;
for($i=0;$i<sizeof($cantidad);$i++)
echo "<pre>Producto $i:".str_pad('$'.number_format($cantidad[$i],2,'.',','),15,'.',STR_PAD_LEFT)."</pre>\n";
?>
Imprime lo siguiente:
Código:
Producto 0:........$458.02
Producto 1:.....$45,852.30
Producto 2:..........$5.00
Producto 3:..$1,000,000.00
El formateado numérico se lo puse a parte para que se viera más elegante la función, =)