Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Cómo recorrer un String PHP y obtener cada palabra variables

Estas en el tema de Cómo recorrer un String PHP y obtener cada palabra variables en el foro de PHP en Foros del Web. Necesito recorrer una variable String y substraer cada palabra. La variable que intento recorrer es una fecha "&dateS = "friday 20 march 2015", necesito recorrerla ...
  #1 (permalink)  
Antiguo 20/03/2015, 14:22
 
Fecha de Ingreso: marzo-2015
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
Información Cómo recorrer un String PHP y obtener cada palabra variables

Necesito recorrer una variable String y substraer cada palabra.

La variable que intento recorrer es una fecha "&dateS = "friday 20 march 2015", necesito recorrerla y sacar la palabra "friday" y la palabra "march" y ponerla cada una en una variable, pero eso no es todo, necesito que funcione para cada día y cada mes que la variable $dateS actualice, mi código es éste:

$data = "2015-03-20" ; //Esto es un ejemplo
$data =strtotime($data);

setlocale(LC_TIME , 'es_ES.UTF-8'); //No me función el idioma de fechas en español ¿Por qué?

$dateS = strtolower(strftime("%A %d %B %Y", $data));// "friday 20 march 2015"


$long = strlen($dateS);

$long = strlen($dateS);

for($i=0;$i<strlen($dateS);$i++){

if ($dateS{$i} == ' '){

for($ii=$i+1;$ii<strlen($dateS);$ii++){

$i=strlen($dateS);
if ($dateS{$ii} == ' '){

for($iii=$ii+1;$iii<strlen($dateS);$iii++){

if ($dateS{$iii} == ' '){

for($iiii=$iii+1;$iiii<strlen($dateS);$iiii++){

echo $dateS{$iiii};
$año='';
$año.=$dateS{$iiii};
echo $año;
$iii=strlen($dateS);


}

}else{


echo $dateS{$iii};
$ii=strlen($dateS);
}

}
}else{
echo $dateS{$ii};
}
}
}else{
echo $dateS{$i};
}
}

echo $año;

Cada ciclo FOR recorre el String a partir de cierta posición, de tal manera de que cada ciclo FOR imprima únicamente una palabra sin los espacios ' '.

En total cada "echo $dateS{$posicion}" imprimen en el Front End "friday20march2015" sin los espacios, en el último ciclo FOR es donde estoy probando la concatenación con la variable "$año" para sacar de allí el "2015" del string "$dateS" y no la última posición como actualmente me muestra en el "echo $año;" en la última línea de código, ¿Cual es la forma correcta de sacar una palabra completa de los ciclos FOR?
  #2 (permalink)  
Antiguo 20/03/2015, 14:30
 
Fecha de Ingreso: marzo-2015
Mensajes: 5
Antigüedad: 9 años, 9 meses
Puntos: 0
De acuerdo Respuesta: Cómo recorrer un String PHP y obtener cada palabra variables

Por dios ya vi mi error, que estúpido fui, debo declarar la variable "$año" fuera de los ciclos, auto-solucioné mi problema....
  #3 (permalink)  
Antiguo 20/03/2015, 14:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Cómo recorrer un String PHP y obtener cada palabra variables

Has pensado, no sé, tal vez, usar strftime() para obtener un valor a la vez en lugar de la cadena completa:

Código PHP:
Ver original
  1. // MAL
  2.  $dateS = strtolower(strftime("%A %d %B %Y", $data));// "friday 20 march 2015"
  3.  
  4. // BIEN
  5. $dateS_day = strtolower(strftime("%A", $data));// "friday"
  6. $dateS_day_n = strtolower(strftime("%d", $data));// "20"
  7. $dateS_month = strtolower(strftime("%B", $data));// "march"
  8. $dateS_year = strtolower(strftime("%Y", $data));// "2015"

Digo, un poco de creatividad no le hace daño a nadie.

Y así te ahorras los loops, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: cadena, ciclos, concatenar, fecha, string
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 14:12.