Autor Tema: [!TUT] Switch para comparar.  (Leído 985 veces)

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
[!TUT] Switch para comparar.
« en: 15 de Julio de 2010, 21:23:32 pm »
Bueno, viendo que muy poca gente sabe utilizar el switch pero no para comparar rangos de valores, sino para comparar variables que devuelvan un valor booleano, ya sea TRUE o FALSE.
Citar
<?PHP
define
(&#39;miNombre&#39;, &#39;Focux&#39;);
if(miNombre == &#39;Focux&#39;) $bool = true;
switch($bool) { # Ejecutamos el switch siempre & cuando la variable $bool sea TRUE
case(stristr(miNombre, &#39;F&#39;)): echo &#39;Tu nombre contiene F&#39;; break; # Este caso se ejecuta siempre y cuando la funcion stristr devuelva TRUE
case(stristr(miNombre, &#39;P&#39;)): echo &#39;Tu nombre contiene P&#39;; break; # Este caso se ejecuta siempre y cuando la funcion stristr devuelva TRUE
default: return $bool false# Si no se cumple ninguno de los casos se ejecuta el valor por defecto.
}
echo (
$bool == false ? &#39;hmm, creo que no se cumplio ninguno de los casos&#39; : NULL); # Si $bool es igual a false se ejecuta la condicion.
?>


Bueno hasta aqui llego el tutorial, espero que hayan podido entender con el código que les hize de ejemplo.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Comunidad PHPeros

[!TUT] Switch para comparar.
« en: 15 de Julio de 2010, 21:23:32 pm »

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[!TUT] Switch para comparar.
« Respuesta #1 en: 15 de Julio de 2010, 21:39:15 pm »

No entiendo mucho la finalidad del tutorial aunque yo ya se usar la función switch. Pero veo que te has hecho el merito de colaborar con el foro
(No como otros que solo critican) y por ello te doy un K+ ;)

#Fdo. Physlet

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:[!TUT] Switch para comparar.
« Respuesta #2 en: 15 de Julio de 2010, 23:08:07 pm »
Creo que no te leiste mi tutorial, estoy explicando otro uso del switch que no es el que todos conocemos.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:[!TUT] Switch para comparar.
« Respuesta #3 en: 16 de Julio de 2010, 19:28:49 pm »
Cabe resaltar que los casos que pongamos deben devolver un valor booleano. (true o false)
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[!TUT] Switch para comparar.
« Respuesta #4 en: 17 de Julio de 2010, 06:48:07 am »
Es que se supone que un switch() siempre debe devolver un valor booleano, ya que es una especie de condicional.

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:[!TUT] Switch para comparar.
« Respuesta #5 en: 17 de Julio de 2010, 11:30:20 am »
Es que se supone que un switch() siempre debe devolver un valor booleano, ya que es una especie de condicional.

No tiene por que... también lo haces sin valores booleanos ¬¬

Saludos

Desconectado Focux

  • PHPero Master
  • ******
  • Mensajes: 1.010
  • Karma: 22
    • Ver Perfil
Re:[!TUT] Switch para comparar.
« Respuesta #6 en: 17 de Julio de 2010, 17:16:21 pm »
No tiene por que... también lo haces sin valores booleanos ¬¬

Saludos
No, si ponemos un condicional en el case este siempre debe devolver un valor booleano, ya que de eso depende la ejecución de el case.

Es que se supone que un switch() siempre debe devolver un valor booleano, ya que es una especie de condicional.
No entendí muy bien lo que dijiste.
Mixtiqueros.net

<?PHP
define
(_miNombre, &#39;Focux&#39;);
if(_miNombre == &#39;Focux&#39;): printf(&#39;%s es un programador avanzado&#39;, _miNombre); else: printf(&#39;Tu no eres %s&#39;, _miNombre); endif;
?>

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[!TUT] Switch para comparar.
« Respuesta #7 en: 19 de Julio de 2010, 20:06:36 pm »
No entendí muy bien lo que dijiste.
Me refiero a que comentas esto:

Citar
Bueno, viendo que muy poca gente sabe utilizar el switch pero no para comparar rangos de valores, sino para comparar variables que devuelvan un valor booleano, ya sea TRUE o FALSE.
Es que hablas de comparar rango de valores y comparar variables que devuelvan valores booleanos.
Y lo que yo trato de decir es que por naturaleza, siempre devolverá un valor booleano. Entonces no sé a qué te refieres con el otro 'método de aplicación' que le dan al switch().