Visualizzazione risultati 1 fino 13 di 13

Discussione: Tipo enumerativo

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Tipo enumerativo

    Vorrei creare un tipo enumerativo con PHP...è possibile?

  2. #2
    Guest

    Predefinito

    Ma sai cosa vuol dire?


    Ciao!

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ad esempio creare il tipo ESITO che può assumere solo i valori PARI o DISPARI...

  4. #4
    Guest

    Predefinito

    ESITO non è un tipo!

    Detto questo, spiega meglio cosa ti serve, cosa vorresti realizzare.


    Ciao!

  5. #5
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    La domanda mi sembra chiara...vorrei definire un NUOVO tipo...che possa asumere solo i valori che indico nella definizione...

  6. #6
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Forse deBug non conosce il C:
    Codice:
    typedef enum {FALSE, TRUE} boolean;
    ...
    int main(){
    boolean esito;
    ...
    Non credo tu possa esattamente "creare un nuovo tipo" poichè in generale in PHP il tipo delle variabili non va inizializzato perchè è gestito in automatico.
    Quello che puoi fare è semplicemente creare un variabile $esito e assegnare i valori PARI e DISPARI semplicemente:
    Codice PHP:
    <?php
    define
    ("PARI",0);
    define("DISPARI",1);
    ...
    $esito = PARI;
    ...
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  7. #7
    Guest

    Predefinito

    Sarà una scemenza, ma usare la percentuale?

    Codice PHP:
    for($i = 0; $i <= 10; $i++)
    {
    echo
    $esito = ($ i% 2) ? 'Pari' : 'Dispari';
    }
    EDIT: Aggiungo che non so cosa intenda, ma da quello che capito (probabilmente niente), sembra una soluzione.
    Ultima modifica di biccheddu : 15-10-2009 alle ore 19.11.16

  8. #8
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    No beh, credevo esistesse un vero tipo enumerativo come in c...
    quello che volevo fare era una cosa del tipo:
    boolean x;
    if (x==true)
    f(false);
    else
    f(true);
    ma provando a farlo in una sola riga...ad esempio:
    boolean x;
    f(ContrarioDiX)
    C'è il modo per realizzarlo?

  9. #9
    Guest

    Predefinito

    Potresti spiegare un pò meglio la situazione? Cioè, vorrei capire anche io questa cosa, magari potrebbe tornare utile se si facesse anche col PHP!

    In ogni caso potrebbe tornarti utile una ricerca su Google: Enumeration PHP.

  10. #10
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    In sostanza io ho una stringa che di fatto assume solo due valori: "pari" e "dispari".
    Poi ho una funzione definita come segue:
    public function genera ($parametro) {
    if($parametro=="pari")
    return 2*rand();
    if($parametro=="dispari")
    return 2*rand()+1;
    }
    ora io vorrei generare un numero che sia pari se la stringa è "dispari" e viceversa

  11. #11
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    In php non ci sono tipi e quindi non è possibile.
    Potete solo simularne il comportamento.
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  12. #12
    L'avatar di zingus
    zingus non è connesso Utente giovane
    Data registrazione
    02-09-2003
    Messaggi
    83

    Predefinito

    Oltretutto da un punto di vista della performance, anche se ci fossero gli enum, sarebbe abbastanza irrilevante.

    In C gli enum sono belli perchè il momento della compilazione è sfasato rispetto a quello dell'esecuzione, e quello che viene fatto una volta (l'associazione nomi->enum->numeri) non va fatto ad ogni runtime. In php sono sempre conseguenti.

    Tipicamente in php di usa una riga di define('COSTANTE',10); a volte ne vale la pena, a volte tanto vale passare una stringa con un valore comprensibile. Se non altro è più immediato.

    E no, non son tanto queste le cose a cui fare attenzione perché se le fai con poca attenzione fai soffrire i server. Piuttosto lo sono certi pezzi di codice che fanno 28000 chiamate al database invece di una sola.

  13. #13
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    cmq ti ho già dato il pezzo di codice che puoi usare, prova un po' -.-
    Citazione Originalmente inviato da ageofempiresgif Visualizza messaggio
    Forse deBug non conosce il C:
    Non credo tu possa esattamente "creare un nuovo tipo" poichè in generale in PHP il tipo delle variabili non va inizializzato perchè è gestito in automatico.
    Quello che puoi fare è semplicemente creare un variabile $esito e assegnare i valori PARI e DISPARI semplicemente:
    Codice PHP:
    <?php
    define
    ("PARI",0);
    define("DISPARI",1);
    ...
    $esito = PARI;
    ...
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

Regole di scrittura

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