Tecnología

Inicio

PHP ternario

El operador ternario en PHP permite escribir frases sencillas "if-else" con una línea de código en lugar de con dos a cinco líneas de código que podrían ser necesarias para una sentencia "if-else". Puede ayudar a reducir el tiempo de codificación y puede hacer un programa más fácil de entender y más fácil de mantener. El operador ternario evaluará una expresión condicional y devolver el resultado de un estado de cuenta si es verdad y otra declaración si es falsa. Sustituye a esta declaración:

if ($ x <0) {
$ Resultado = "negativo";
} Else {
$ Result = "no negativo";
}

con esta declaración:

$ Resultado = $ x <0? "Negativo": "no negativo";

Cuando se utiliza el operador ternario, seguir la sintaxis de expresiones documentado y tenga cuidado al crear expresiones más complejas que involucran estados anidados y variables pasadas por referencia.

Sintaxis

Construir una declaración con el operador condicional ternario usando una expresión condicional; seguido de un signo de interrogación y una declaración para evaluar si la expresión condicional es verdadero; seguido de dos puntos y una declaración para evaluar si la expresión condicional es falsa. Por ejemplo, la siguiente instrucción asigna verdadero o falso a la variable "is_teenager", basada en la edad de una persona:

$ Is_teenager = ($ edad> = 13 && $ edad <= 19)? verdadero Falso;

Omitiendo el Medio

En PHP versión 5.3 o posterior, puede crear una expresión aún más abreviada utilizando el operador ternario omitiendo el medio de la declaración y el uso de la primera expresión ya que tanto la expresión condicional y el valor a devolver si la expresión condicional es verdadero. Crear una sentencia condicional; seguido de un signo de interrogación y de dos puntos; seguido de la sentencia para evaluar si la expresión condicional es falsa. Si la expresión condicional es verdadero, el resultado es verdadero. Por ejemplo, la siguiente expresión devuelve verdadero si la edad de una persona es menor de 21 y falso en caso contrario.

$ Edad <21: falsa;

declaraciones de anidación

No crear expresiones complejas utilizando las sentencias condicionales anidadas y operadores ternarios. Al hacer esto, normalmente se hace el código más difícil de entender, difícil de depurar y más difícil de mantener. Si los estados de cuenta de nidos, el uso de paréntesis para que sea claro cómo el resultado final se deriva o considere el uso de una estructura alternativa como una declaración "if-else".

El resultado es una declaración

Si utiliza variables pasadas por referencia con un operador ternario, recuerda que las expresiones proporcionadas con el operador son declaraciones, no variables. No se puede utilizar una variable pasada por referencia por sí mismo como una declaración porque no tiene ningún valor. En PHP 5.3 y posteriores, recibirá una advertencia si construye una declaración utilizando una única variable pasada por referencia.