Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Switch -> ForEach come fare?

    Ciao,

    vorrei trasformare il codice seguente in un foreach() ma non capisco come modificarlo...

    Questo è il codice che vorrei variare:

    switch ($yDati)
    {
    case 'AASS': { return $AASS = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    case 'AASS': { return $AAS = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    case 'AAC': { return $AAC = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    case 'AAD': { return $AAD = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    case 'AADD': { return $AADD = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    case 'ACSS': { return $ACSS = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    case 'AS': { return $AS = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    };

    Il codice contiene molti più case ma per brevità l'ho tagliato.

    Grazie

    BottyE
    Bye Bye Botty

  2. #2
    ma $yDati è una variabile con una stringa per avere un foreach devi avere un array.

  3. #3
    Grazie,
    ma...
    c'è un modo per "sintetizzare" lo switch?

    Come posso ad esempio dire che :

    case 'AASS': { return $AASS = Tipo($Tipo, $Posi, $Stil, $Comp); break; }
    case 'AASS': { return $AAS = Tipo($Tipo, $Posi, $Stil, $Comp); break; }

    con la stringa AASS venga messo il risultato in una Variabile $AASS e
    con la stringa AAS venga messo il risultato in una Variabile $AAS etc?

    vorrei sintetizzarlo in un ciclo stile for...

    Come posso trasformare una stringa nella variabile equivalente?

    GRAZIE
    Bye Bye Botty

  4. #4
    prova così:

    eval('return $'.$yDati.' = Tipo($Tipo, $Posi, $Stil, $Comp);');

  5. #5
    GRANDE!!!

    Funzia, ma ... me la spieghi un pò?

    Bye Bye Botty

  6. #6
    eval prende una stringa qualunque e la esegue come fosse PHP (corrisponde a scrivere del php in una stringa anziché nella pagina:

    eval("echo 'Ciao';");

    è come scrivere

    echo 'Ciao';

    La differenza è che, essendo una stringa che viene passata alla funzione puoi modificarla con variabili come ho fatto io, o altre funzioni.

    Quindi, diciamo che è un modo per scrivere del codice DINAMICO

  7. #7
    Ancora grazie,

    passo e chiudo...

    Bye Bye BottyE
    Bye Bye Botty

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 © 2024 vBulletin Solutions, Inc. All rights reserved.