Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2019, 10:45
paulkees
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Problema con valor de array vacio

Hola a todos...!

Quiero modificar lineas de un archivo .txt, que es algo así:

Código:
texto|texto|texto|texto|texto|texto|
texto|texto|texto||texto|texto|
texto|texto|texto||texto|texto|
... y lo intento de esta forma:

Código PHP:
$fop fopen("archivo.txt","r");
while(
$linea fgets($fop)) {
    
$campo explode("|"$linea); //Identificamos los campos
    
$posicion $campo[3];//Campo a modificar
    
$replace $posicion.'/'//Reemplazamos por esto
    
$resultado str_replace($posicion$replace$linea); //Ejecutamos el "str_replace"
    
echo $resultado//Imprimimos el resultado

Es decir, repito lo escrito en el campo, y le agrego una barra inclinada. Si está todo bien, reescribo el archivo.txt

Con lo anterior me da este resultado:

Código:
texto|texto|texto|texto/|texto|texto|
texto|texto|texto||texto|texto|
texto|texto|texto||texto|texto|
Acá me aparece el problema, que si el array tiene un valor vacio, el explode() da FALSE... tal cual lo dice el manual "Si delimiter es un string vacío (""), explode() devolverá FALSE.", por lo tanto no me coloca la barra inclinada.

Por favor ¿cómo puedo hacer para poner, igualmente, la barra inclina en "$campo[3]" aunque tenga un valor FALSO?

He buscado, y he visto que los valores vacíos en un array se pueden eliminar... pero no he visto que se puedan "rellenar" por decirlo de alguna foma.

Ojalá puedan orientarme u ayudarme!!!