Visualizzazione dei risultati da 1 a 7 su 7

Discussione: implode/explode array

  1. #1

    implode/explode array

    Salve,

    Ho usato questo pezzo di codice per estrapolare dei dati da un record sql e per cancellare l'elemento in posizione $pos, passato come variabile:

    Codice PHP:
    $membro explode(","$id['member']);
                unset(
    $membro[$pos]);
                
    $membri implode(","$membro);
                
    $aggiorna $db->query("UPDATE team SET member = '".$membri."' WHERE tid = ".$_GET['tid']."") or die(mysql_error()); 

    Il problema è che mi elimina tutto l'array e non solo il dato nella posizione passata. Come mai?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    310
    Ciao,
    allora per prima cosa stampati l'array $membro per verificare se effettivamente ci sono valori.
    Verifica se nell'array, nella posizione $pos c'è un valore.

    Quindi stampa array:

    codice:
    echo "<pre>";
    print_r($membro);
    echo "</pre>";

  3. #3
    in queste situazioni segui sempre il consiglio di @robyd. Verifica che cosa contiene la variabile.

  4. #4
    Dato che il dato nell'array esiste (c'è un controllo prima), non riuscivo a risolvere il problema. Ho mantenuto la stringa come tale (senza fare l'explode) e ho utilizzato in modo un po' spartano la funzione str_replace.
    Grazie a tutti lo stesso

  5. #5

    Problema su explode

    Premetto che sono un principiante ed ho bisogno di aiuto
    eseguo la pulizia di una stringa "alla partita allo stadio"
    tolgo allo ed alla
    $cerca = str_replace("allo","", $cerca);
    $cerca = str_replace("alla","", $cerca);
    $array = explode(" ",$cerca) ;
    $num = count ($array);
    echo " le parole sono ";
    echo $num;
    echo $cerca;

    ed ho questo risultato
    le parole sono 4 stadio partita
    mi aspettavo che le parole erano 2 stadio e partita avendo sostituito con "" le parole alla ed allo

    Dove sbaglio??

  6. #6
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739

    Re: Problema su explode

    Originariamente inviato da eliantos
    Premetto che sono un principiante ed ho bisogno di aiuto
    eseguo la pulizia di una stringa "alla partita allo stadio"
    tolgo allo ed alla
    $cerca = str_replace("allo","", $cerca);
    $cerca = str_replace("alla","", $cerca);
    $array = explode(" ",$cerca) ;
    $num = count ($array);
    echo " le parole sono ";
    echo $num;
    echo $cerca;

    ed ho questo risultato
    le parole sono 4 stadio partita
    mi aspettavo che le parole erano 2 stadio e partita avendo sostituito con "" le parole alla ed allo

    Dove sbaglio??
    Non so cosa c'entri, forse avresti fatto bene ad iniziare una nuova discussione. comunque il tuo problme è che sì elimini le parole ottenendo alla fine (ti mostro gli spazi con dei cancelletti)
    #partita##stadio
    che esploso ti produce un array del tipo:
    1)
    2)partita
    3)
    4)stadio

    per ottenere quello che vuoi, dopo le sostituzioni dovresti fare una trim della stringa per rimuovere gli spazi all'inizio e alla fine e cambiare gli spazi consecutivi interni alla stringa con un singolo spazio (questo lo fai facilmente con una regex o con un ciclo)

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  7. #7
    Graaazie di tutto Ho capito come fare ...devo studiare studiare e studiare!!!!

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.