Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/02/2005, 10:15
Flopi
 
Fecha de Ingreso: diciembre-2004
Mensajes: 120
Antigüedad: 19 años, 4 meses
Puntos: 0
Me he fijado que manejas dos variables diferentes:
$porc_A[$i]
$_porc_A[$i]
Por lo visto la primera siempre es nula y por eso no funciona, pero no es un problema de la funcion.
Además, si pones
if (is_null($porc_A[$i])) fwrite($d, "\$porc_A[$i] = \"-\";\r\n");
el \ que va delante de $porc_A[$i] anula e $ y no entiende esto como una variable.

Te pongo un ejemplo que si funciona, por si te sirve para algo:

<?php
function calcular_porc($tot, $win, $loss, $extra)
{
if ($tot)
{
$result = $win / $tot * 100;
if ($result) $porcT = number_format($result, 1, '.', '');
else $porcT = $result;
}else{
$porcT = NULL;
}
return $porcT;
}

$d = fopen("prueba.txt", "w");
/* Uso la variable i como contador de partidos jugados, supongo que siempre gana 3 y pierde 2 ... aunque juegue 0, para simplificar */
for($i=0;$i<10;$i++)
{
$porc_A[$i]=calcular_porc ($i,5,3,0);
if (is_null($porc_A[$i]))
{ $a = fwrite($d, "\ $porc_A[$i] = \"-\";\r\n");}
else
{ $a = fwrite($d, "\ $porc_A[$i] = \"".$_porc_A[$i]."%\";\r\n");}

}
fclose($d);

?>