2010-09-05 21 views
15

cosa fa la parola chiave default in php? non c'è documentazione su http://php.net/default, ma ottengo un errore quando lo uso come nome di una funzione: »T_DEFAULT inaspettato, in attesa di T_STRING«parola chiave predefinita in php

cosa fa/dove posso trovare informazioni a riguardo?

+13

omg, è per il caso predefinito in 'switch' ... ora mi sento stupido: -/ – knittl

+0

l'insensibilità del case colpisce ancora, volevo una costante DEFAULT in una classe: D –

+1

Nota che da PHP7, è possibile avere il nome" default "(così come o ther) usato per alcune cose, come un metodo di classe poiché il lexer è più intelligente di prima. Vedi https://wiki.php.net/rfc/context_sensitive_lexer. –

risposta

15

default fa parte della dichiarazione switch:

switch ($cond) { 
    case 1: 
    echo '$cond==1'; 
    break; 
    case 2: 
    echo '$cond==2'; 
    break; 
    default: 
    echo '$cond=="whatever"'; 
} 
8

Il default parola chiave viene utilizzata nella switch construct:

$value = 'A'; 
switch ($value) { 
case 'A': 
case 'B': 
    echo '$value is either A or B.'; 
break; 
case 'C': 
    echo '$value is C.'; 
break; 
default: 
    echo '$value is neither A, nor B, nor C.'; 
} 

Il predefinita caso corrisponde a tutto ciò che non è stato accompagnato da altri casi.

4

Aggiunta ad altre risposte:

default è una parola chiave PHP e le parole chiave non può essere utilizzato come nome della funzione.

Quando si tenta:

function default() { 
.... 
} 

PHP si aspetta di vedere un T_STRING (un identificatore), dopo la parola function ma vede un T_DEFAULT e le bandiere di un errore di analisi/sintassi:

unexpected T_DEFAULT, expecting T_STRING

+0

sì, esattamente l'errore che ottengo – knittl