Visualizzazione risultati 1 fino 5 di 5

Discussione: Domanda su array_rand

  1. #1
    Guest

    Predefinito Domanda su array_rand

    Salve, ho questi codici che funzionano bene, solamente che mi stampa a video i numeri corrispondenti alle parole e non le parole stesse.. Come rimedio?

    Codice PHP:
    <?

    $stringa
    = $_POST['nomi'];

    $lista = explode(' ', $stringa);

    echo
    implode(' ', array_rand($lista, 2));

    ?>

  2. #2
    Guest

    Predefinito

    array rand restituisce gli indici numerici dell'array
    mentre il funzionamento di implode richiede come secondo parametro le stringhe..

    credo sia questo il problema...

  3. #3
    Guest

    Predefinito

    mm l' implode finale l' ho visto da una guida, quindi non credo stia lì il problema.. Vabbè al massimo ripeto il comando 2 volte LOL

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Come ti è stato già detto, array_rand, restituisce n chiavi ( generate in modo casuale ) corrispondenti agli elementi di un array.
    Quindi il comportamento dello script è corretto, anche se non è quello che desideri.

    Ciò che devi fare è recuperare l'elemento dell'array che corrisponde all'indice.
    Intituivamente, dico che potresti usare array_map per trasformare le chiavi nei rispettivi valori:
    Codice PHP:
    $stringa = $_POST['nomi'];
    $lista = explode(' ', $stringa);
    echo
    implode(' ', array_map(create_function('$v', 'return $GLOBALS[\'lista\'][$v];'), array_rand($lista, 2)));

  5. #5
    Guest

    Predefinito

    Grazie mille :)

Regole di scrittura

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