- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Stringhe] explode();
-
[Stringhe] explode();
PHP 4, 5
Sintassi: array *explode *( string $separatore, string $string [, int $limit ] )explode è una funzione di PHP utilizzata per suddividere una stringa. I tre parametri della funzione sono, nell'ordine, la stringa di separazione (che non viene restituita come risultato della funzione stessa), la stringa da suddividere ed il parametro opzionale $limit che indica il massimo numero di elementi che restituirà la nostra funzione.
Il risultato della nostra funzione sarà un array che conterrà, in ordine, i vari pezzi della stringa $string, separati dalle varie occorrenze di $separatore.
[php]<?
$string = "testo1:testo2";
$sub = explode ( ":", $string );
echo $sub[0]; // risultato: testo1
echo $sub[1]; // risultato: testo2
?>[/php]
Se aggiungiamo il parametro opzionale $limit imporremo alla nostra funzione di estrarre $limit substringhe da $string, dove l'ultima conterrà la parte restante di $string.
[php]<?
$string = "testo1:testo2:testo3:testo4";
$sub = explode ( ":", $string, 3); // abbiamo imposto che il numero di elementi da creare nell'array deve essere 3
echo $sub[0]; // risultato: testo1
echo $sub[1]; // risultato: testo2
echo $sub[2]; // risultato: testo3:testo4
?>[/php]
Dalla versione 5.1.0 di PHP è possibile assegnare un valore negativo a $limit, ed in tal caso verranno estratte tutte le substringhe ad esclusione degli ultimi $limit elementi:
[php]<?
$string = "testo1:testo2:testo3:testo4";
$sub = explode ( ":", $string, -1); // escludiamo dall'estrazione l'ultimo elemento che diversamente verrebbe estratto da $string
echo $sub[0]; // risultato: testo1
echo $sub[1]; // risultato: testo2
echo $sub[2]; // risultato: testo3
?>[/php]
Se $separatore è una stringa vuota ( "" ), la funzione restituirà il valore booleano FALSE.
Se $separatore non trova alcuna occorrenza in $string, verrà restituita una matrice con un unico elemento che sarà $string.La funzione inversa di explode(); è [url=http://www.giorgiotave.it/forum/funzioni-di-php/68430-stringhe-implode.html]implode();.
-
Invece di assegnare i nostri pezzi di stringa come elementi di un array, è anche possibile procedere ad assegnare questi valori direttamente a delle variabili. Questo grazie alla funzione list();.
[php]<?
$text = "1%utente%[email protected]";
list ($id, $user, $email) = explode ("%", $text);
?>[/php]