Visualizzazione dei risultati da 1 a 5 su 5

Discussione: explode php

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    explode php

    Salve, ho una stringa del tipo
    codice:
    $str='["a","b"]';
    dovrei splittarla in un elenco <li>
    Esiste un modo semplice e sicuro per farlo? intendo piuttosto che usare una serie di sub_str e str_replace (per eliminare le parentesi quadre e poi sostituire i caratteri "," con </li><li>)?
    magari esiste una funzione php apposita, ma non la trovo..

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Se presti attenzione un momento alla stringa noterai che è in un formato ben preciso. La sua struttura dovrebbe essere familiare a tutti.

    codice:
    $str='["a","b"]';
    
    foreach(json_decode($str, true) as $data) {
        echo '<li>'.$data.'</li>';
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    uhm hai ragione, però ho notato che il programma che uso non codifica sempre in json, in caso di elemento singolo è semplicemente una stringa "elemento":
    ossia la stringa può essere del tipo
    $str='["a","b"]';
    oppure
    $str='a';

    ci vuole necessariamente un controllo?

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    uhm hai ragione, però ho notato che il programma che uso non codifica sempre in json, in caso di elemento singolo è semplicemente una stringa "elemento":
    E' una strana scelta, comunque puoi vedere se una stringa è o non è json controllando il risultato di json_decode. Se restituisce qualcosa diverso da false, allora sei a cavallo, e puoi continuare a usarlo in quel modo. Se restituisce false, allora non è json, e la puoi trattare come elemento singolo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    tutto liscio, grazie mille

    codice:
    foreach($isjson=json_decode($row[0] , true) as $user) {
        echo '<li>'.$user.'</li>';
    }
    if(!$isjson) echo '<li>'.$row[0].'</li>';

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.