entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

No sé el significado de esta expresión

Saludos

Mis disculpas si esta pregunta está fuera de contexto al no ser algo que haya programado explícitamente. Vi esta expresión en PHP y no entiendo bien su significado:

$entero ? 3 : 0

Como su nombre indica "entero" es una variable de tipo entero. Concretamente el código donde se encuentra es el siguiente

  return number_format($tamano,($entero ? 3 : 0),",",".")." ".$array[$entero];

Gracias de antemano

2 Respuestas

3votos

lemoy Puntos500

No es una expresión regular del tipo REGEX, a este se le llama operador ternario.

Lo primero que tenemos que comprender es que lo que conseguimos con el operador ternario es lo mismo que conseguiríamos con el clásico condicional if/else como el compañero mchojrin hace mensión, no hace falta explicar mucho para que sirve, imaginemos el siguiente código (el lenguaje que voy a usar en este caso es PHP)

if ($quiensoy > 10){
$mensaje = "hola yo soy tern";
} else {
$mensaje = "hola yo soy ario";
}

Básicamente este código evalúa si el valor de la variable quiensoy es mayor que 10, y si introduce un mensaje u otro (if – si se cumple / else – si no se cumple). Bueno pues el operador ternario hace lo mismo pero con menos código.

$mensaje = ($quiensoy > 10) ? 'tern' : 'ario';

Siendo mensaje el contenedor del resultado.

1voto

Iskandarina comentado

Gracias a ambos por responder. Ya entiendo a lo que se refiere con los ejemplos de estos mensajes.

3votos

mchojrin Puntos2630

Es una expresión de tipo "if inmediato" es una forma abreviada de escribir:

if ( $entero ) {

   return 3;
} else {

   return 0;
}

En este caso, sería lo mismo que decir:

if ( $entero ) {

   return number_format($tamano, 3 ),",",".")." ".$array[$entero];
} else {

   return number_format($tamano, 0 ),",",".")." ".$array[$entero];
}

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta