• Consiglio Direttivo

    [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();.


  • Consiglio Direttivo

    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]