Foros del Web » Programando para Internet » PHP »

plss help con archivo.txt

Estas en el tema de plss help con archivo.txt en el foro de PHP en Foros del Web. Holas de nuevo. Solucione el problema de contar gatos gracias a todos, pero ahora me surge otro problema con el archivo txt y no se ...
  #1 (permalink)  
Antiguo 02/03/2004, 06:17
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta plss help con archivo.txt

Holas de nuevo.
Solucione el problema de contar gatos gracias a todos, pero ahora me surge otro
problema con el archivo txt y no se como lo podria solucionar
El problema es, que si tengo en el archivo.txt esto:

Perro
Gato
Vaca
Tigre
Gato
Leon
Gato

Como puedo cambiar 2 Gatos en 2 Tigres?

Gracias
  #2 (permalink)  
Antiguo 02/03/2004, 06:30
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

La manipulacion genetica es mala

Mas en serio, tienes 3 gatos, ¿cuales quieres alterar? Si seria transformar todos los gatos en tigres, seria mas sencillo. En www.php.net/array hay una funcion que te permite aplicar una funcion a cada elemento del array.

La forma "normal" seria localizar los indices en el array creado por file() de los elementos que quieres modificar, modificarlos, y grabar el array pisando el contenido.

Para localizarlos podrias recorrer el array, comparando el valor con 'gato'.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 05/03/2004, 05:22
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Gracias perooo...

He podido cambiar la linea que contiene Gato por Tigre pero solo me cambia una, ¿como puedo hacer para que me cambie el numero que quiera yo?

Para capturar la linea la he cogido con el substr_count dentro del array que me ha hecho el file()
  #4 (permalink)  
Antiguo 05/03/2004, 08:53
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Siento curiosidad, ¿como usando substr_count(), que devuelve el numero de subcadenas, has conseguido localizar una posicion en un array?

De todas formas, aqui va un codigo que podria funcionar:
Código PHP:
// $datos seria el array
$cuantos=2// numero de gatitos a cambiar
$que_ori='Gato'// la cadena original
$que_fin='Tigre'// la cadena final

$faltan=$cuantos// variable temporal
foreach ($datos as $indice => $valor) {
  if (
$que_ori==$valor) {
    
$datos[$indice]=$que_final;
    
$faltan--;
    if (
0==$faltan) break;
  }
}

echo 
"Se han cambiado los ".($cuantos-$faltan)." $que_ori a $que_fin . "
Saludos.

PD: Seguro que hay un codigo "mas mejor"
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 07/03/2004, 11:52
 
Fecha de Ingreso: febrero-2004
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
De acuerdo :D con un foreach :D

Código PHP:
foreach($lines as $d)
        {
        if(
substr_count($d'Gato') > 0){ $gatoline $c; }
$c++;
        } 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.