PHP - Convertir un string

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 19 puestos en PHP (en relación al último mes)
Gráfica de PHP

Convertir un string

Publicado por Jorge (4 intervenciones) el 20/03/2020 21:23:55
Hola necesito convertir un string separado por ';' de la siguiente manera.

1
2
3
4
5
6
7
$string = '-20,823758;-68,659980;;-20,823447;-68,656976;;-20,824219;-68,654101;;-20,825984;-68,654079;;-20,829193;-68,654552;'
 
$output = ''1;-20,823;-68,659;P;0;1
            1;-20,823;-68,656;P;0;1
            1;-20,824;-68,654;P;0;1
            1;-20,825;-68,654;P;0;1
            1;-20,829;-68,654;P;0;1

He intentado con este código pero luego no puedo unir los dos resultados que obtengo para poder concatenar los demás carácteres.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$str = '-20,823758;-68,659980;;-20,823447;-68,656976;;-20,824219;-68,654101;;-20,825984;-68,654079;;-20,829193;-68,654552';
$str1 = $str;
$tuArray = explode(';;', $str);
foreach($tuArray as  $indice => $str){
   //echo  $str.';P;0;1'. "<br />";
	$string = substr($str,0,7);
echo $string.";".'<br/>' ;
 
}
$tuArray1 = explode(';;', $str1);
foreach($tuArray1 as  $indice1 => $str1){
   //echo  $str.';P;0;1'. "<br />";
	$string1 = substr($str1,11,7);
echo $string1.";".'<br/>' ;
 
}
 
?>

Ya no hallo que hacer, soy principiante.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Convertir un string

Publicado por Julio (830 intervenciones) el 20/03/2020 21:43:07
Hola.

Te veo un poco liado. Empiezas bien pero luego te lías. A ver, haces un explode del string completo cortando por ;; y luego recorres ese string. Como tendrás algo así '-20,823758;-68,659980' como elementos, vuelve a hacer un explode sólo por un ; y ya tienes ambas partes. Ahí vas juntando el string generado con ese substr que estás haciendo.

Fíjate, con esto te valdría:

1
2
3
4
5
6
7
8
9
10
$string = '-20,823758;-68,659980;;-20,823447;-68,656976;;-20,824219;-68,654101;;-20,825984;-68,654079;;-20,829193;-68,654552;';
$stringGenerado = '';
 
$explode = explode(';;', $string);
foreach ($explode as $str) {
	$partes = explode(';', $str);
	$stringGenerado .= '1;' . substr($partes[0], 0, 7) . ';' . substr($partes[1], 0, 7) . ';P;0;1<br>';
}
 
echo $stringGenerado;

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 19 puestos en PHP (en relación al último mes)
Gráfica de PHP

Convertir un string

Publicado por Jorge (4 intervenciones) el 20/03/2020 22:18:36
Muchas gracias, funcionó perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar