[C.PHP][III] Condicionales y estructuracion del codigo

Tema en 'Programación & Programación Web' iniciado por LJury, 8 Ago 2009.

  1. LJury

    LJury Usuario Nuevo nvl. 1
    697/812

    Registrado:
    8 Jul 2009
    Mensajes:
    633
    Me Gusta recibidos:
    2
    <-- ir a Capitulo anterior

    [​IMG]
    Condicionales y estructuracion del codigo

    Bueno, una ves mas les pido perdon, por el retraso con los cursos... pero, creo que esta velocidad seguira (probablemente), ahora estoy pasando por algunos problemas y tengo aun menos tiempo... pero no quiero dejar este curso votado

    en este capitulo, vamos a comenzar a hacer scripts con funciones interesantes y que tengan algun uso, por muy basico que sea... pero tendran un uso...


    En el curso anterior aprendieron lo mas basico para hacer un archivo php y poder imprimir un valor cuando este se ejecute... en este capitulo comenzaremos a usar condicionales (if, else) y las diferentes estructuras que conformaran gran parte de nuestros codigos... (loops, while, for each, etc...)

    bueno, primero haremos las primeras pruebas... aqui sabran como funciona el condicional "if"
    en la programacion, tendran gran ventaja los que tengan nociones sobre ingles, por ejemplo "if" significa "SI" pero un si de "si ocurre tal condicion se cumple tal accion"... aqui es lo mismo pero la sintaxis es la siguiente:
    if(condiciones) { acciones }
    si el valor de "condiciones" es true o 1 entonces se cumpliran las acciones... primero, como podemos nosotros hacer que en "condiciones", este el valor 1?... recuerdan en un curso anterior en el cual les dije que si nosotros haciamos lo siguiente:
    1 != 2 --> nos devuelve verdadero o 1 (1 es diferente de 2)
    1 > 2 --> nos devuelve false o 0 (1 no es mayor que 2)

    ahora entenderan por que les explique todas esas cosas con anterioridad, empezemos con algunos ejemplos...

    if(1 != 2) {acciones} --> en este caso como dijimos mas arriba, las acciones si se cumpliran por que 1!=2 es verdadero
    if(
    1 > 2) {acciones}--> aqui no se cumpliran las acciones, por que la condicion nos devolvio falso

    que pasa si queremos hacer algo mas complicado?, podemos usar los parantesis...

    if( (1>2) == 0 ) {acciones} --> en este caso se cumplira por que 1 no es mayor que 2 y devuelve 0 (o falso) y 0 SI es igual a 0, luego se daran cuenta de que aqui podemos poner tecnicamente cualquier cosa, hasta trozos de codigos mas complicados

    ahora vamos con las acciones.. recuerdan que en php las funciones se debian separar con un punto y una coma? ";", bueno... cuando hacemos un "if" no tenemos que ponerle un ";" al final, los que llevan ";", son las acciones que estan dentro de el (puede que les paresca un poco complicado a algunos... ami se me olvidaba al principio, pero en un dia ya se acostumbra)

    entonces supongamos el siguiente caso... tenemos una variable... la cual tendra como valor 1 si es que queremos imprimir un valor y 0 para el caso contrario

    Insertar CODE, HTML o PHP:
    <?
    x = 1 // el valor si se quiere imprimir
    if(x == 1){ echo ' Lo que queremos imprimir '; } 
    // en caso de que x (1) sea igual a 1 se imprimira ' Lo que queremos imprimir'
    ?>

    (ps: ahora usare "code" para poner los codigos, si son muy largos usare spoilers y tambien para las respuestas de ejercitacion )

    ahora.. añadiremos un poco de dificultad a la cosa, hay complementos que podemos ponerle al "if" para poder hacerlo un poco mas.. "sotisficado"
    digamos que queremos hacer lo mismo pero que en caso de que NO se cumpla la condicion allan otras acciones... en un principio algunos podrian pensar en esto

    Insertar CODE, HTML o PHP:
    <?
    x = 1 // el valor si se quiere imprimir
    if(x == 1){ echo ' Lo que queremos imprimir si se cumple '; } 
    if(x  != 1){ echo ' Lo que queremos imprimir si no se cumple '; } 
    ?>
    como veran, en la segunda linea != si X es diferente de 1, entonces se imprimira "lo que queremos imprimir si no se cumple"... bueno, esto NO! esta malo... pero no es lo mejor, ( tal como en la psu de lenguaje.. la respuesta correcta es la menos mala ).

    por eso mismo usamos la sentencia "else", es algo como "de lo contrario"
    osea...
    "Si x es igual a 1 entonces imprimimos que se cumple de lo contrario imprimiremos que no se cumple"

    veamos el siguiente ejemplo de como quedaria nuestro codigo con los "else"

    Insertar CODE, HTML o PHP:
    <?
     x = 1 // el valor si se quiere imprimir
     if(x == 1){ echo ' Lo que queremos imprimir si se cumple '; } 
    else{ echo ' Lo que queremos imprimir si no se cumple '; } 
     ?>
    en otras palabras.. si no se cumple el if, el else simplemente funcionara...
    y aun nos queda otra sentencia mas que es "elseif", en ciertas condiciones nosotros queremos que, el codigo vea si se cumple una funcion (x == 1), y queremos que luego vea otra ( x == 2) y si ninguna de estas dos se cumple ejecute una por defecto (else)

    veamos un ejemplo para que comprendan como funciona, no es muy complicado de entender.


    Insertar CODE, HTML o PHP:
    <?
      x = 1 // el valor si se quiere imprimir
      if(x == 1){ echo ' la variable x tiene como valor el numero  1'; } 
     elseif( x == 2){ echo ' la variable x tiene como valor el numero  2'; } 
    else{ echo ' la variable x tiene como valor un numero que no es ni 1 ni 2'; }
      ?>
    espero que les alla quedado claro, mas adelante usaremos de una forma un poco mas complicada estas sentencias condicionales.

    ahora veremos la sentencia "while" que traducido del ingles seria "mientras"
    y su sintaxis es la siguiente

    While(condicion) { acciones }

    Mientras la no sea verdadera (osea, mientras sea falsa) se ejecutan las acciones

    el while se usa para cosas como recorrer un array (una lista de valores) o dibujar valores en pantalla (por ejemplo una tabla) y aqui es donde se usa aquel tan preciado X++ (incrementar el valor de la variable en uno)

    vean el siguiente ejemplo
    Insertar CODE, HTML o PHP:
     
    x = 1;
    while( x < 15){ 
      echo x. ' ';
      x++;
    } 
    este es un ejemplo muy clasico y vemos la funcion del puntito para añadir cadenas

    primero while verifica si la condicion es verdadera, luego de que ve que es falsa procede a las acciones.. e imprime el valor de la variable X seguida de un espacio (para separar lo que vendrá luego de ella) y luego la variable X incremente en uno su valor.

    asi mismo, en pantalla se imprimira 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15


    Bueno, esta mas que dicho que la gente interesada no esta... por lo que dejare de hacer los cursos...

    por lo que se cancelan hasta nuevo aviso


     
  2. Aguil@

    Aguil@ Usuario Habitual nvl.3 ★
    197/244

    Registrado:
    10 Oct 2007
    Mensajes:
    13.935
    Me Gusta recibidos:
    38
    gracias por el trabajo !!
     
  3. avatar_c

    avatar_c Usuario Casual nvl. 2
    37/41

    Registrado:
    3 Mar 2010
    Mensajes:
    1.004
    Me Gusta recibidos:
    7
    excelente aporte ...pero y que mas ...
     
  4. El Fin

    El Fin Usuario Habitual nvl.3 ★
    187/244

    Registrado:
    2 Oct 2009
    Mensajes:
    16.562
    Me Gusta recibidos:
    16
    Está bueno el aporte socio :D, aunque podría ser más conciso, por ejemplo en una parte escribes:

    Eso se podria traducír símplemente en:


    while ("mientras"):

    bla bla bla bla bla

    Recuerda que tal y como documentas un programa, los comentarios deben ser mínimos e ir al hueso, asi se entiende mejor.


    Un Saludo.
     
  5. Merovingio

    Merovingio Usuario Habitual nvl.3 ★
    187/244

    Registrado:
    20 Mar 2009
    Mensajes:
    33.491
    Me Gusta recibidos:
    6
    que wena!!!!
    gracias
     
  6. the kamikase

    the kamikase Usuario Maestro nvl. 6 ★ ★ ★ ★
    697/812

    Registrado:
    19 Sep 2008
    Mensajes:
    68.365
    Me Gusta recibidos:
    42
    gracias viejo !