Foros del Web » Programando para Internet » PHP »

problemas con el uso de IF, ELSE

Estas en el tema de problemas con el uso de IF, ELSE en el foro de PHP en Foros del Web. Estoy tratando de hacer esto.. $place = acapulco if ($place == 'mexico'){ echo "mexico bla bla bla"; } else { if ($place == 'cancun'){ echo ...
  #1 (permalink)  
Antiguo 21/08/2002, 09:39
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 22 años, 1 mes
Puntos: 0
problemas con el uso de IF, ELSE

Estoy tratando de hacer esto..
$place = acapulco

if ($place == 'mexico'){
echo "mexico bla bla bla";
}
else {
if ($place == 'cancun'){
echo "cancun bla bla bla";
}
if ($place == 'acapulco') {
echo "acapulco bla bla bla";
}
}


Pero algo estoy haciendo mal por que no funciona....

GRACIAS por su ayuda....

Rnstho Luna
  #2 (permalink)  
Antiguo 21/08/2002, 09:42
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Re: problemas con el uso de IF, ELSE

Código:
if ($place == 'mexico'){echo "mexico bla bla bla";}
elseif ($place == 'cancun'){echo "cancun bla bla bla";}
elseif ($place == 'acapulco') {echo "acapulco bla bla bla";}
<font size=2><a href="http://www.traduim.com">Traduim.com</a>
Proximamente...[/CODE]
  #3 (permalink)  
Antiguo 21/08/2002, 09:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: problemas con el uso de IF, ELSE

Y no será mejor un &quot;Case&quot;:

switch ($place){
case &quot;cancun&quot;:
echo &quot;balbla&quot;;
break;

case &quot;mexico&quot;:
echo &quot;asdfaf&quot;;
break;

case &quot;noseque&quot;:
echo &quot;asdfasdfasdf&quot;;
break;
}

Un saludo,
  #4 (permalink)  
Antiguo 21/08/2002, 09:57
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Re: problemas con el uso de IF, ELSE

Cluster : ¿Por qué siempre decís que es mejor un switch? Yo ahora empiezo a usarlos, pero no sé muy bien cual es la ventaja. ¿Son más rápidos?

Te agradecería que nos explicaras que ventaja tienen los switch sobre los if/else

<font size=2><a href="http://www.traduim.com">Traduim.com</a>
Proximamente...[/CODE]
  #5 (permalink)  
Antiguo 21/08/2002, 10:03
Avatar de bhonox  
Fecha de Ingreso: julio-2002
Ubicación: Rengo-Viña del Mar-Stgo
Mensajes: 1.213
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: problemas con el uso de IF, ELSE

yo tambien manejo el CASE en estos casos, si es cosa de ver lo que escribiste tu, la indentacion se fue al suelo, por lo menos te queda mas estructurado con case, y mas entendible cuando encuentre problemas

ATTE BHONOX
  #6 (permalink)  
Antiguo 21/08/2002, 10:46
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: problemas con el uso de IF, ELSE

Creo se me olvido comentar algo

Primero la variable $place esta en otro archivo home.php

Y esto lo tengo como include(destinos.php)

if ($place == 'mexico'){
echo &quot;mexico bla bla bla&quot;;
}
else {
echo &quot;recuerda visitar mexico&quot;;
echo &quot;bienvenido a $place&quot;;
if ($place == 'cancun'){
echo &quot;cancun bla bla bla&quot;;
}
if ($place == 'acapulco') {
echo &quot;acapulco bla bla bla&quot;;
}
}
  #7 (permalink)  
Antiguo 21/08/2002, 11:09
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: problemas con el uso de IF, ELSE

Cain, no tiene que ser un CASE necesariamente más rápido que un If, pero cuando tienes que &quot;switchear&quot; entre varias opciones, es mucho más util ( y queda mucho mas lindo ) utilizar Switch/Case que un montón de If/else/elseif.

Aparte de que con CASE puedes hacer que una opcion, ejecute 1, 2 o más bloques de código, y hasta puedes utilizar &quot;default&quot; para manejar los casos que no están contemplados.

Saludos.

<hr><font size=2 face=verdana>- Pablo Rigazzi (<img src=http://www.fantabuloso.com/iB_html/non-cgi/emoticons/bullwhip.gif align=absmiddle>)[/CODE]
<font size=1 color=#333333>Visita <a href=http://www.web-studio.com.ar>Web Studio</a>[/CODE]
  #8 (permalink)  
Antiguo 27/08/2002, 05:36
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Re: problemas con el uso de IF, ELSE

Cita:
y hasta puedes utilizar &quot;default&quot; para manejar los casos que no están contemplados
Con if tiene ELSE para los casos no contemplados :P
Yo creo que eso es cuestión de gustos, porque por lo visto tanto switch como if/else tienen las mismas funcionalidades.

<font size=2>Proximamente...
<a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE]
  #9 (permalink)  
Antiguo 27/08/2002, 09:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: problemas con el uso de IF, ELSE

Cain .. es cierto .. un IF tiene su ELSE &quot;default&quot; .. .

Pero .. en un &quot;swhits&quot; (perdon siempre me lio al escribirla xD) .. Te ahorras un buen monto de ifelse y de grupos {} .. tan solo con decir:

defaul:
echo &quot;no es ninguna de las anteriores&quot; ...

en un caso simple como 1 opcion de una $varible .. por supuesto sobra con un if .. else

if ($variable==&quot;valor&quot;){
// haz una cosa
} else {
// default . por defecto
}

Pero ahora pon dos opciones o mas .. ahi tendras q andar pensando toda la gerarquia de if .. sus elses y sus {} .. un swhist es mas intuitivo y te expones a menos riesgos de equivocarte en algun paso.

Para eso mismo en PHP y otros lenguajes nacio esa funcion que te aporta esa ayuda .. eso si .. tu eres libre de usarla porque como dices sobre gustos no hay nada escrito.
Te pongo otro caso .. para ordenar un arrya tienes funciones como asort() .. pero porsupuesto podrias hacerlo al metodo clasico usando el algoritmo de burbuja .. y solo usarias funciones básicas.

Un saludo,
  #10 (permalink)  
Antiguo 27/08/2002, 09:05
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Re: problemas con el uso de IF, ELSE

Lo que pasa es que con switch() siempre me lío, porque a veces son dos puntos y a veces punto y coma :PCon if/else siempre son {}

Ademas, usando elseif puedo poner tantas clausulas como quiera:

if ($variable = 1) {tal}
elseif ($variable = 2) {tal}
elseif ($variable = 3) {tal}
elseif ($variable = 4) {tal}
elseif ($variable = 5) {tal}
elseif ($variable = 6) {tal}
else {pascual}


<font size=2>Proximamente...
<a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE]
  #11 (permalink)  
Antiguo 27/08/2002, 09:30
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: problemas con el uso de IF, ELSE

Cain, te equivocas, en IF no siempre es {}. Aparte.. si tienes más de dos comandos, tendrás que utililzar ; SIEMPRE.
Aparte.. compara esto :

if ($variable = 1) {tal}
elseif ($variable = 2) {tal}
elseif ($variable = 3) {tal}
elseif ($variable = 4) {tal}
elseif ($variable = 5) {tal}
elseif ($variable = 6) {tal}
else {pascual}

con esto

Switch($variable)
{
case 1: tal; break;
case 2: tal; break;
case 3: tal; break;
case 4: tal; break;
case 5: tal; break;
case 6: tal; break;
default: pascual;
}

A mi modo de entender y programar, esto se ve mucho más limpio y entendible que lo otro.

Pero bueno, cada uno programa como programa.
  #12 (permalink)  
Antiguo 27/08/2002, 09:30
Avatar de Rnsto  
Fecha de Ingreso: marzo-2002
Ubicación: Puerto Vallarta, Mexico
Mensajes: 204
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: problemas con el uso de IF, ELSE

Cain y Cluster..

La verdad me tiene en una indecision, por saber cual usar IF,ELSE o SWITCH ...

Les voy a poner el ejemplo de exactamente lo que estoy haciendo y si pueden cada uno denme su opinion... GRACIAS

if ($place == 'mexico') {
echo &quot;&lt;img src='thismonth.gif'&gt;&lt;br&gt;&quot;;
echo &quot;MEXICO PAIS&quot;; }
else {
echo &quot;SAVE TIME&lt;br&gt;&quot;;
echo &quot;&lt;img src='thismonth.gif'&gt;&lt;br&gt;&quot;;
if ($place == 'acapulco') {
echo &quot;ACAPULCO MAGICO&quot;;
elseif ($place == 'cancun') {
echo &quot;CANCUN PARAISO&quot;; }
elseif ($place == 'veracruz') {
echo &quot;VERACRUZ PUERTO&quot;}
}


<html>
Saludos
Rnstho Luna
<a href="http://www.go2mexico.com/" target="_blank">go2mexico.com</a></html>
  #13 (permalink)  
Antiguo 27/08/2002, 09:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: problemas con el uso de IF, ELSE

Que te voy a decir yo :Pyo soy de los del bando &quot;swhist&quot; (repito .. perdon en no escribirlo bien pero no me entra la palabrita)

Yo lo veo mas claro .. mira el ejemplo de webstudio y decide tu mismo .. ambos hacen lo mismo.

Un saludo,
  #14 (permalink)  
Antiguo 27/08/2002, 09:57
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Re: problemas con el uso de IF, ELSE

Ajá, ya lo pillé.
Con Switch sólo indicas una vez el nombre de variable y luego sólo una vez cada valor. Con if/else, tienes que repetir siempre el nombre de variable, con lo que el código se hace más largo.
Además, con switch sólo hay case y default, mientras que con if tienes que alternar if con ifelse.
Creo que me habéis convencido

<font size=2>Proximamente...
<a href="http://www.traduim.com">Traduim</a>: El portal de los traductores[/CODE]
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 07:49.