2010-09-05 17 views
15

¿Qué significa la palabra clave default en php? no hay documentación en http://php.net/default, pero aparece un error al usarlo como nombre de función: »inesperado T_DEFAULT, esperando T_STRING«palabra clave predeterminada en php

¿Qué hace/dónde puedo encontrar información al respecto?

+13

OMG, es para el caso por defecto en 'switch' ... ahora me siento estúpido: -/ – knittl

+0

la insensibilidad de la caja golpea de nuevo, quería una constante DEFAULT en una clase: D –

+1

Tenga en cuenta que a partir de PHP7, es posible tener el nombre" predeterminado "(así como o ther) usado para algunas cosas, como el método de una clase ya que el lexer es más inteligente que antes. Ver https://wiki.php.net/rfc/context_sensitive_lexer. –

Respuesta

15

default es parte de la declaración switch:

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

default La palabra clave se utiliza en el 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.'; 
} 

El defecto caso coincide con cualquier cosa que no coincidan los otros casos.

4

Agregando a otras respuestas:

default es una palabra clave PHP y las palabras clave no se puede utilizar como nombre de la función.

Al intentar:

function default() { 
.... 
} 

PHP espera ver una T_STRING (un identificador) después de la palabra clave function pero ve una T_DEFAULT y banderas un error de análisis/sintaxis:

unexpected T_DEFAULT, expecting T_STRING

+0

yup, exactamente el error que obtengo – knittl