Conversione stringa in array

di il
2 risposte

Conversione stringa in array

Salve a tutti. Ho un problema in php, in quanto ricevo una stringa come
$stringa="NOME:Mario,COGNOME:Rossi,CLASSE:2A,ALTEZZA:175,PESO:70";
e vorrei inserire in un array ogni singolo campo separato dalla virgola. Quindi in output dovrebbe darmi
$campi[0]=Mario;$campi[1]=Rossi
ecc... Problema è che non lo esegue. Cercando in rete ho trovato la funzione explode(); infatti l'ho usata. Posto il codice:
<?php
   $stringa="NOME:Mario,COGNOME:Rossi,CLASSE:2A,ALTEZZA:175,PESO:70"; 
   $campi = explode("-", $stringa);
   echo "stringa = $stringa <br />";
   echo "Nome = $campi[0]<br />";
   echo "Cognome = $campi[1]<br />";
   echo "Classe = $campi[2]<br />";
   echo "Altezza = $campi[3]<br />";
   echo "Peso = $campi[4]";
?>
Spero di essermi spiegato bene e che possiate aiutarmi. Grazie in anticipo

2 Risposte

  • Re: Conversione stringa in array

    Al comando Explode devi indicare qua'è il separatore del tuo elenco.
    Nel tuo caso hai un primo elenco separato da vigola e poi se vogliamo etichetta/valore sono separati dai due punti

    La soluzione al tuo problema potrebbe essere questa:
    <?php
    
    	$stringa="NOME:Mario,COGNOME:Rossi,CLASSE:2A,ALTEZZA:175,PESO:70";
    
    	$aCampi = explode(",", $stringa);
    
    	echo "stringa = $stringa <br />";
    
    	print_r($aCampi);
    	echo "<br /><br />";
    
    	foreach( $aCampi as $sCampoSingolo) {
    		//echo $sCampoSingolo . "<br />";
    
    		$aCampoSingolo = explode(":", $sCampoSingolo);
    		//print_r($aCampoSingolo);
    		echo $aCampoSingolo[0] . ' : ' . $aCampoSingolo[1];
    		echo "<br /><br />";
    	}
    ?>
  • Re: Conversione stringa in array

    Grazie funziona perfettamente!
Devi accedere o registrarti per scrivere nel forum
2 risposte