Foros del Web » Programando para Internet » PHP »

Asterisco en un if / else

Estas en el tema de Asterisco en un if / else en el foro de PHP en Foros del Web. Hola, estoy revisando un código de PHP donde aparece una sintaxis que no conozco (me refiero al 'asterisco' *). Código: if ($published == '') { ...
  #1 (permalink)  
Antiguo 25/07/2012, 04:43
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Asterisco en un if / else

Hola, estoy revisando un código de PHP donde aparece una sintaxis que no conozco (me refiero al 'asterisco' *).
Código:
if ($published == '') { 
			$query->where('published = 1 OR published = 0');
		} else if ($published != '*') {
			$published = (int) $published;
			$query->where("published = '{$published}'");
		}
¿Qué indica exactamente el * en esa expresión?. Por que debería ser cuando $published vale 0 o 1, y yo entiendo que $published != '*' lo que hace es NEGAR cualquier valor que pueda tener la variable $published, pero si fuera así no tendría sentido el condicional.

Gracias de antemano.
__________________
Videotutoriales de Drupal
  #2 (permalink)  
Antiguo 25/07/2012, 06:32
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Asterisco en un if / else

Si $published (== '') es igual a cadena vacia
filtra por 1 o 0
quando es no vacia Si solo si no es '*' (cadena igual a * )
filtra por el valor de $published

Es decir cuando es cadena vacia busca 1 o 0 y cuando no es * busca por el valor. Si es * no hace nada.

'*' tiene significado especial cuando se usa dentro de un patron (PCRE) de una expresion regular pero para ello es necesario usar la función preg_match


Patrones PCRE

Cita:
* cuantificador 0 o más
Un * solo no tendria mucho sentido.... podria significar que sea o no cadena vacia (0, cero o más caracteres) con lo que el else if estaria en contradicción con el if....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 25/07/2012 a las 06:50

Etiquetas: asterisco, variables
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 05:03.