Comunidad de diseño web y desarrollo en internet online

mostrar info sumada de txt

Citar            
MensajeEscrito el 25 Dic 2010 11:58 pm
hola tengo una consulta
tengo un archivo php que lee un txt

leo.txt
eduardo 12
eduardo 13
jose 15
miguel 12
miguel 12



archivo php
<?php
$archivo = file("leo.txt");
$lineas = count($archivo);
for($i=0; $i < $lineas; $i++){
$cadena=$archivo[$i];
$nombre = substr($cadena, 0, 8);
$venta = substr($cadena, 8, 2);
echo $nombre;
echo $venta;

}?>


el resultado que arroja es

eduardo 12
eduardo 13
jose 15
miguel 12
miguel 12


hay alguna manera e que si es el mismo nombre sume las ventas totalizadas y muestre el resultado asi?
eduardo 25
jose 15
miguel 24
?

Por swingbeach21

Claber

104 de clabLevel



 

msie8
Citar            
MensajeEscrito el 26 Dic 2010 02:49 am
jeje toy de muy buen humor y te la hago asi :)
pruebas el codigo esto lo hice al vuelo por que toy apagando mi PC y no lo probe en mi server

Código PHP :

<?php
$archivo = file("leo.txt");
$lineas = count($archivo);
//iniciamos un array que contendra los nombres como llave y de valor la venta todo para hacer una suma 
//ej. $persona['pepe guapo'] = 14;
$personas = array();
for($i=0; $i < $lineas; $i++)
{
   $cadena=$archivo[$i];
   //comprobamos de que la cadena no este vacia
   if(empty($cadena))
   {
      continue;//con esto le decimos al bucle de que salte a la siguiente linea
   }
   // con esto separamos que tenga espacio un array de 2 dimensiones
   $datos = explode(' ',$cadena,2);
   //el  primer array que seria  el  nombre
   $nombre = $datos[0];
   //el  segundo array que seria  el  numero
   $venta = $datos[1];
   //verificamos si el nombre ya existe en nuestra array $personas
   if(isset($personas[$nombre]))
   {
      //si existe le damos su antiguo valor mas el que se encontro
      $personas[$nombre] = $personas[$nombre] + $venta;
   }
   else
   {
      //si no existe le asignamos
      $personas[$nombre] = $venta;
   }
}
//mostramos nuestro array con un foreach
foreach($personas as $nombre => $venta)
{
   //mostramos el resultado en salida standar y con html dependiendo de como uses php
   echo $nombre .''.$venta ."\n <br/>";
}
?>

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Dic 2010 07:21 am
Una idea que te vendria bien es que analises el algoritmo de fibonacci es precisamente verificar quien estuvo antes y comparar.

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 26 Dic 2010 04:09 pm

talcual escribió:

Una idea que te vendria bien es que analises el algoritmo de fibonacci es precisamente verificar quien estuvo antes y comparar.

podria ser util el algoritmo pero tomemos en cuenta que no siempre podria estar antes el texto podria estar en cualquier parte
ejemplo.txt

Código :

juan 15
pedro 23
jhon 17
juan 15
jhon 5
jhon 7

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.