Foros del Web » Programando para Internet » PHP »

operador ternario

Estas en el tema de operador ternario en el foro de PHP en Foros del Web. Que tal amigos del foro. en el operador ternario es obligatorio que lleve los dos puntos? o solo puede ser el signo de interrogación?? es ...
  #1 (permalink)  
Antiguo 27/10/2011, 10:13
Avatar de timoteo666  
Fecha de Ingreso: agosto-2011
Ubicación: /home/Gdl
Mensajes: 242
Antigüedad: 12 años, 8 meses
Puntos: 11
Busqueda operador ternario

Que tal amigos del foro. en el operador ternario es obligatorio que lleve los dos puntos? o solo puede ser el signo de interrogación??
es posible esto:
$v = !empty($val) ? $val;
ó como puede hacer esto:
$v = !empty($val) ? $val: nada;
__________________
( + ) lineas de código ( - ) televisión
  #2 (permalink)  
Antiguo 27/10/2011, 10:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: operador ternario

Hay una propuesta para hacerlo pero para hacer lo que quieres haces algo así:
Código PHP:
Ver original
  1. $v = !empty($val) ? $val: null;

Saludos.
  #3 (permalink)  
Antiguo 27/10/2011, 10:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: operador ternario

De hecho esto es posible:
Código PHP:
$foo $bar ?: NULL
timoteo666, por favor consulta el manual:
http://php.net/manual/es/language.op...comparison.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 27/10/2011, 10:38
Avatar de timoteo666  
Fecha de Ingreso: agosto-2011
Ubicación: /home/Gdl
Mensajes: 242
Antigüedad: 12 años, 8 meses
Puntos: 11
Respuesta: operador ternario

Gracias GatorV me funciono a la perfeccion

Cita:
Iniciado por GatorV Ver Mensaje
Hay una propuesta para hacerlo pero para hacer lo que quieres haces algo así:
Código PHP:
Ver original
  1. $v = !empty($val) ? $val: null;

Saludos.
__________________
( + ) lineas de código ( - ) televisión
  #5 (permalink)  
Antiguo 27/10/2011, 10:40
Avatar de timoteo666  
Fecha de Ingreso: agosto-2011
Ubicación: /home/Gdl
Mensajes: 242
Antigüedad: 12 años, 8 meses
Puntos: 11
Respuesta: operador ternario

pateketrueke gracias, de hecho primero lo busque en el manual y despues me pase a con los experimentados

Cita:
Iniciado por pateketrueke Ver Mensaje
De hecho esto es posible:
Código PHP:
$foo $bar ?: NULL
timoteo666, por favor consulta el manual:
http://php.net/manual/es/language.op...comparison.php
__________________
( + ) lineas de código ( - ) televisión
  #6 (permalink)  
Antiguo 27/10/2011, 11:09
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: operador ternario

amigos, a riesgo de sonar sarcástico(burlesco), la respuesta es si a la primera pregunta del amigo timoteo666 ¿en el operador ternario es obligatorio que lleve los dos puntos?

si tu ejecutas, por ejemplo:

$val='hola';
$v = (!empty($val)) ? $val;

obtendrás:
Parse error: syntax error, unexpected ';' in ...

esto lo escribo, solo a manera de responder a la pregunta.

saludos y espero no molestar a nadie.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 27/10/2011, 11:15
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: operador ternario

No pueden faltar los 2 puntos, en PHP 5.3 se puede hacer esto:

Código PHP:
Ver original
  1. <?php
  2. $val = 'hola';
  3. $v = !empty($val) ?: $val;
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: operador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:33.