Visualizzazione risultati 1 fino 6 di 6

Discussione: str_shuffle e stampare tutti i risultati trovati

  1. #1
    Guest

    Predefinito str_shuffle e stampare tutti i risultati trovati

    Salve, mi domandavo come far in modo che il 'sever' faccia lo str_shuffle di una parola fino a quando non la trova in una lista.. E come fare a mostrare tutti i risultati trovati? esempio se la parola è aloget potrebbe trovare sia tegola che gelato, basta scrivere echo $value (relativo ad un ciclo foreach) per mostrarli tutti o mostra solo il primo che trova?

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    str_shuffle riordina in modo casuale una stringa, ma non ti da nessuna garanzia di provare tutte le combinazioni di lettere - potrebbe non trovare mai la parola anche se essa esiste.

    Se devi confrontare anagrammi ti conviene suddividere la stringa in un array di lettere con str_split(), metterle in ordine alfabetico con sort(), e poi confrontare la stringa risultante (ottenuta con implode()) con simili trasformazioni delle parole che hai in lista.

  3. #3
    Guest

    Predefinito

    Ok ma se le metto in ordine alfabetico non credo risolvo qualcosa.. Cioè se la parola è coia (ciao), mettendo in ordine alfabetico verrebbe acio e non lo troverebbe nella lista
    Ultima modifica di suppliers : 20-05-2011 alle ore 16.30.57

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Infatti nella lista devi mettere gli anagrammi con le lettere in ordine alfabetico.
    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Se devi confrontare anagrammi ti conviene suddividere la stringa in un array di lettere con str_split(), metterle in ordine alfabetico con sort(), e poi confrontare la stringa risultante (ottenuta con implode()) con simili trasformazioni delle parole che hai in lista.
    Ultima modifica di karl94 : 20-05-2011 alle ore 16.37.51

  5. #5
    Guest

    Predefinito

    karl , non capisco intendi le parole in ordine alfabetico o le lettere? Se devo creare anagrammi, ovvero se cerco la parola ocia deve trovare ciao nella lista non acio

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Ma tu sai che acio è la versione riordinata di ciao, e quindi trovi quello che ti serve. Basta che invece di una semplice lista di parole, ti salvi anche la versione riordinata, e.g. 'parola' e 'aalopr'.

    Quando ti arriva una stringa nuova, ne riordini le lettere e cerchi nella tua lista tutte quelle che hanno la stessa stringa "riordinata". Poi restituisci le corrispondenti parole "normali".
    Ultima modifica di dreadnaut : 20-05-2011 alle ore 22.26.41

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •