Diferencia entre revisiones de «PHP Estruturas de control»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
(No se muestran 6 ediciones intermedias del mismo usuario)
Línea 53: Línea 53:
  
  
 +
 +
* É posible empregar outra sintaxe no if que consiste en ter nunha única liña a sentenza con dous puntos ao final e en vez de empregar o peche de chaves empregamos endif;
 +
Exemplo de código:
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="1" >
 +
<?php if ($a > $b): ?>
 +
  <div>A é maior que b</div>
 +
<?php endif; ?>
 +
</syntaxhighlight>
 +
 +
: Esta sintaxe se emprega cando estamos a mesturar código php e html, quedando moito máis claro.
 +
 +
<br />
 
=== else ===
 
=== else ===
  
Línea 71: Línea 83:
  
  
 +
* É posible empregar outra sintaxe no if-else que consiste en ter nunha única liña a sentenza con dous puntos ao final, o else tamén leva dous puntos e en vez de empregar o peche de chaves empregamos endif;
 +
Exemplo de código:
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="1,3,5" >
 +
<?php if ($a > $b): ?>
 +
  <div>A é maior que b</div>
 +
<?php else: ?>
 +
  <div>A é menor que b</div>
 +
<?php endif; ?>
 +
</syntaxhighlight>
 +
 +
: Esta sintaxe se emprega cando estamos a mesturar código php e html, quedando moito máis claro.
 +
 +
 +
 +
<br />
 
=== elseif | else if ===
 
=== elseif | else if ===
  
Línea 91: Línea 118:
 
   }
 
   }
 
?>
 
?>
 +
</syntaxhighlight>
 +
 +
 +
<br />
 +
 +
== switch ==
 +
 +
Máis información en: https://www.php.net/manual/es/control-structures.switch.php
 +
 +
* Permite ter moitos if else if else pero dunha forma moito máis lexible.
 +
: Cada case debe ter un break se non queremos que se executen as ordes do seguinte case.
 +
 +
Exemplo de código:
 +
::<syntaxhighlight lang="php" line enclose="div" highlight="2,4" >
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
    <title>Exemplo de switch en PHP</title>
 +
</head>
 +
<body>
 +
    <h1>Día da Semana</h1>
 +
    <?php
 +
        $numeroDia = 3; // Podes cambiar este valor para probar diferentes días
 +
 +
        switch ($numeroDia) {
 +
            case 1:
 +
                echo "Hoxe é luns.";
 +
                break;
 +
            case 2:
 +
                echo "Hoxe é martes.";
 +
                break;
 +
            case 3:
 +
                echo "Hoxe é mércores.";
 +
                break;
 +
            case 4:
 +
                echo "Hoxe é xoves.";
 +
                break;
 +
            case 5:
 +
                echo "Hoxe é venres.";
 +
                break;
 +
            case 6:
 +
                echo "Hoxe é sábado.";
 +
                break;
 +
            case 7:
 +
                echo "Hoxe é domingo.";
 +
                break;
 +
            default:
 +
                echo "Número de día non válido.";
 +
        }
 +
    ?>
 +
</body>
 +
</html>
 +
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Línea 137: Línea 217:
 
: Sairá como resultado os números do 1 ata o 10.
 
: Sairá como resultado os números do 1 ata o 10.
  
 +
 +
* Ao igual que có if, podemos empregar outra sintaxe cando estamos a mesturar código php e código html.
 +
: Este sería un exemplo de cómo facelo.
 +
::<syntaxhighlight lang="php" enclose="div" highlight="2,3" >
 +
<ul>
 +
<?php while ($condicion): ?>
 +
    // código
 +
<?php endwhile; ?>
 +
</ul>
 +
</syntaxhighlight>
  
 
== do-while ==
 
== do-while ==
Línea 283: Línea 373:
 
: Poderíamos enviar de vez os estados (roto,perfecto, pintado,...) de cada un dos exemplares a dar de alta (é un exemplo, loxicamente se queremos gardar ese tipo de dato sería mais conveniente utilizar un &lt;select&gt; cos diferentes estados.
 
: Poderíamos enviar de vez os estados (roto,perfecto, pintado,...) de cada un dos exemplares a dar de alta (é un exemplo, loxicamente se queremos gardar ese tipo de dato sería mais conveniente utilizar un &lt;select&gt; cos diferentes estados.
 
: Lembrar que xa vimos [http://wiki.cifprodolfoucha.es/index.php?title=PHP_Arrays#Creando_arrays_cos_datos_dun_formulario anteriormente na wiki] como enviar datos en forma de array.
 
: Lembrar que xa vimos [http://wiki.cifprodolfoucha.es/index.php?title=PHP_Arrays#Creando_arrays_cos_datos_dun_formulario anteriormente na wiki] como enviar datos en forma de array.
 +
 +
 +
 +
* Ao igual que có if, podemos empregar outra sintaxe cando estamos a mesturar código php e código html.
 +
: Este sería un exemplo de cómo facelo.
 +
 +
::<syntaxhighlight lang="php" enclose="div" highlight="1,3" >
 +
<?php for ($i = 0; $i < 10; $i++): ?>
 +
    <p>Ítem <?php echo $i; ?></p>
 +
<?php endfor; ?>
 +
</syntaxhighlight>
 +
 +
== Exercicios propostos ==
 +
 +
* '''Exercicio 1:''' Determinar se un número é positivo ou negativo. Emprega unha variable e dalle os diferentes valores. Debe amosar unha mensaxe diferente para cando é positivo, negativo ou igual a cero.
 +
 +
 +
* '''Exercicio 2:''' Determina se dada unha contrasinal e un usuario, este pode entrar. Debes empregar dúas variables, unha para o usuario e outra para o password. Se o usuario non existe debe amosar unha mensaxe. Se o usuario existe e a contrasinal é incorrecta deberá indicalo. Se a contrasinal é correcta deberá indicar Acceso concedido.
 +
 +
 +
* '''Exercicio 3:''' Contar ata X. Emprega unha variable para gardar o número ata o que ten que contar e amosa en cada liña Número: X dende 1 ata X
 +
 +
 +
* '''Exercicio 4:''' Taboa de multiplicar. Emprega un bucle for para xerar a taboa de multiplicar do 5.
 +
 +
 +
* '''Exercicio 5:''' Amosa o nome dunha froita en función dun número. Por exemplo, 1 => Mazá, 2 => Pera,....
 +
 +
 +
* '''Exercicio 6:''' Partindo dunha variable cadea na que gardas un número, convirte dita cadea a número e comproba que dito número sexa superior a 0. En caso de que non o sexa, terá que incrementar o valor do número na cadea e volverá a facer a comprobación. Así continuamente ata que sexa superior a 0.
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
<br />
 +
=== Solución Exercicios ===
 +
 +
* '''Exercicio 1:''' Determinar se un número é positivo ou negativo. Emprega unha variable e dalle os diferentes valores. Debe amosar unha mensaxe diferente para cando é positivo, negativo ou igual a cero.
 +
::<syntaxhighlight lang="php" enclose="div" highlight="" >
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
    <title>Exercicio con if-else</title>
 +
</head>
 +
<body>
 +
    <h1>Determinar se un número é positivo ou negativo</h1>
 +
    <?php
 +
        $numero = 10; // Podes cambiar este valor para probar diferentes números
 +
 +
        if ($numero > 0) {
 +
            echo "O número $numero é positivo.";
 +
        } elseif ($numero < 0) {
 +
            echo "O número $numero é negativo.";
 +
        } else {
 +
            echo "O número é igual a 0.";
 +
        }
 +
    ?>
 +
</body>
 +
</html>
 +
 +
</syntaxhighlight>
 +
 +
 +
 +
<br />
 +
* '''Solución Exercicio 2:''' Determina se dada unha contrasinal e un usuario, este pode entrar. Debes empregar dúas variables, unha para o usuario e outra para o password. Se o usuario non existe debe amosar unha mensaxe. Se o usuario existe e a contrasinal é incorrecta deberá indicalo. Se a contrasinal é correcta deberá indicar Acceso concedido.
 +
::<syntaxhighlight lang="php" enclose="div" highlight="" >
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
    <title>Exercicio con if-else</title>
 +
</head>
 +
<body>
 +
    <h1>Determinar se un usuario ten acceso</h1>
 +
    <?php
 +
        // Datos del usuario existente
 +
        $usuario_correcto = "usuario1";
 +
        $contrasena_correcta = "secreta123";
 +
 +
        // Datos del usuario ingresado
 +
        $usuario_ingresado = "usuario1"; // Cambia el usuario ingresado
 +
        $contrasena_ingresada = "secreta1234"; // Cambia la contraseña ingresada
 +
 +
        // Comprobar si el usuario y la contraseña son correctos
 +
        if ($usuario_ingresado == $usuario_correcto && $contrasena_ingresada == $contrasena_correcta) {
 +
            echo "Acceso concedido. Benvido, $usuario_correcto.";
 +
        } elseif ($usuario_ingresado == $usuario_correcto) {
 +
            echo "Acceso denegado. A contrasinal é incorrecta.";
 +
        } else {
 +
            echo "Acceso denegado. O usuario non existe.";
 +
        }
 +
    ?>
 +
</body>
 +
</html>
 +
 +
</syntaxhighlight>
 +
 +
 +
 +
<br />
 +
* '''Solución Exercicio 3:''' Contar ata X. Emprega unha variable para gardar o número ata o que ten que contar e amosa en cada liña Número: X dende 1 ata X
 +
::<syntaxhighlight lang="php" enclose="div" highlight="" >
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
    <title>Exemplo de bucle for en PHP</title>
 +
</head>
 +
<body>
 +
    <h1>Contar ata un número específico</h1>
 +
    <?php
 +
        $numero_a_contar = 7; // Número hasta el cual se va a contar
 +
 +
        for ($i = 1; $i <= $numero_a_contar; $i++) {
 +
            echo "Número: $i<br>";
 +
        }
 +
    ?>
 +
</body>
 +
</html>
 +
 +
</syntaxhighlight>
 +
 +
 +
 +
<br />
 +
* '''Solución Exercicio 4:''' Taboa de multiplicar. Emprega un bucle for para xerar a taboa de multiplicar do 5.
 +
::<syntaxhighlight lang="php" enclose="div" highlight="" >
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
    <title>Exemplo de bucle for en PHP</title>
 +
</head>
 +
<body>
 +
    <h1>Taboa de multiplicar do 5</h1>
 +
    <?php
 +
        $numero = 5;
 +
 +
        for ($i = 1; $i <= 10; $i++) {
 +
            $resultado = $numero * $i;
 +
            echo "$numero x $i = $resultado<br>";
 +
        }
 +
    ?>
 +
</body>
 +
</html>
 +
 +
</syntaxhighlight>
 +
 +
 +
<br />
 +
* '''Solución Exercicio 5:''' Amosa o nome dunha froita en función dun número. Por exemplo, 1 => Mazá, 2 => Pera,....
 +
::<syntaxhighlight lang="php" enclose="div" highlight="" >
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
    <title>Exemplo de switch en PHP</title>
 +
</head>
 +
<body>
 +
    <h1>Nome da Fruta</h1>
 +
    <?php
 +
        $numeroFruta = 3; // Podes cambiar este valor para probar diferentes frutas
 +
 +
        switch ($numeroFruta) {
 +
            case 1:
 +
                echo "Mazá";
 +
                break;
 +
            case 2:
 +
                echo "Pera";
 +
                break;
 +
            case 3:
 +
                echo "Laranxa";
 +
                break;
 +
            case 4:
 +
                echo "Kiwi";
 +
                break;
 +
            case 5:
 +
                echo "Banana";
 +
                break;
 +
            default:
 +
                echo "Número de fruta non válido.";
 +
        }
 +
    ?>
 +
</body>
 +
</html>
 +
 +
</syntaxhighlight>
 +
 +
 +
<br />
 +
* '''Solución Exercicio 6:''' Partindo dunha variable cadea na que gardas un número, convirte dita cadea a número e comproba que dito número sexa superior a 0. En caso de que non o sexa, terá que incrementar o valor do número na cadea e volverá a facer a comprobación. Así continuamente ata que sexa superior a 0.
 +
::<syntaxhighlight lang="php" enclose="div" highlight="" >
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
    <title>Exemplo de bucle Do-While en PHP</title>
 +
</head>
 +
<body>
 +
    <h1>Ingresar un número positivo</h1>
 +
    <?php
 +
        $numero = -1; // Inicializamos con un valor negativo para garantizar la ejecución del bucle al menos una vez
 +
        // Simulamos una entrada de usuario (en un entorno real, puedes obtener esto de un formulario)
 +
        echo "Por favor, ingrese un número positivo: ";
 +
        $entrada_usuario = "-5"; // Cambia este valor para probar diferentes entradas
 +
 +
        do {
 +
           
 +
            printf("<br />Número ingresado:%s",$entrada_usuario);
 +
            // Convertir la entrada del usuario a un número
 +
            $numero = (int)$entrada_usuario;
 +
 +
            if ($numero <= 0) {
 +
                echo "<br />El número ingresado no es válido. Debe ser positivo.\n";
 +
                $numero++;
 +
                $entrada_usuario = strval($numero);
 +
            }
 +
        } while ($numero <= 0);
 +
 +
        echo "<br />Has ingresado un número positivo válido: $numero";
 +
    ?>
 +
</body>
 +
</html>
 +
 +
</syntaxhighlight>
 +
  
  
  
  
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2016).
+
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2023).

Revisión actual del 17:35 29 nov 2023

if

  • Nota: Esta información está baseada na que se atopa na web de php.
  • O construtor if permite a execución condicional de fragmentos de código.
  • Sintaxe:
1 if (expr)
2   sentenza
Sendo expr unha expresión que pode ser avaliada como true ou false.
En caso de ser avaliada como true se executa a sentenza.

Exemplo de código:

1 <?php
2 if ($a > $b) {      // Se $a é maior que $b executa dita sentenza
3   echo "a é maior b";
4 }
5 ?>


  • Se queremos executar varias sentenzas temos que facer uso das chaves {....}. Todas as sentenzas que estean dentro das chaves será executadas.

Exemplo de código:

1 <?php
2 if ($a > $b) {
3   echo "a é maior b";
4   $b = $a;
5 }
6 ?>
  • É necesario que a condición estea entre parénteses: (expr).
  • Pódense anidar if´s de forma indefinida.

Exemplo de código:

1 <?php
2 if ($a > $b) {
3   echo "a é maior b";
4   if ($a > $c) {
5      echo "a é maior que c";
6   }
7 }
8 ?>


  • É posible empregar outra sintaxe no if que consiste en ter nunha única liña a sentenza con dous puntos ao final e en vez de empregar o peche de chaves empregamos endif;

Exemplo de código:

1 <?php if ($a > $b): ?>
2   <div>A é maior que b</div>
3 <?php endif; ?>
Esta sintaxe se emprega cando estamos a mesturar código php e html, quedando moito máis claro.


else

  • Nota: Esta información está baseada na que se atopa na web de php.
  • else forma parte do if e vai servir para executar un conxunto de sentenzas cando non se cumpra a condición indicada no if (cando o valor da expresión avaliada no if sexa false).

Exemplo de código:

1 <?php
2   if ($a > $b) {
3     echo "a é maior que b";
4   } else {
5     echo "a é menor ou igual que b"; 
6   }
7 ?>


  • É posible empregar outra sintaxe no if-else que consiste en ter nunha única liña a sentenza con dous puntos ao final, o else tamén leva dous puntos e en vez de empregar o peche de chaves empregamos endif;

Exemplo de código:

1 <?php if ($a > $b): ?>
2   <div>A é maior que b</div>
3 <?php else: ?>
4   <div>A é menor que b</div>
5 <?php endif; ?>
Esta sintaxe se emprega cando estamos a mesturar código php e html, quedando moito máis claro.



elseif | else if

  • Nota: Esta información está baseada na que se atopa na web de php.
  • As dúas formas ('elsif' e 'else if') van facer o mesmo.
  • As condicións elseif van despois dun if e se avalían se a condición do if devolve false. A diferenza do else, podemos ter varios elseif un despois doutro e se irán avaliando en orde ata que un deles se avalía como true. Nese intre executarase o seu código e non se avaliará ningún elseif nin else que haia a continuación.


Exemplo de código:

1 <?php
2   if ($a > $b) {
3     echo "a é maior que b";
4   } elseif ($a == $b) {
5     echo "a é igual a b";
6   } else {
7     echo "a é menor que b";
8   }
9 ?>



switch

Máis información en: https://www.php.net/manual/es/control-structures.switch.php

  • Permite ter moitos if else if else pero dunha forma moito máis lexible.
Cada case debe ter un break se non queremos que se executen as ordes do seguinte case.

Exemplo de código:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>Exemplo de switch en PHP</title>
 5 </head>
 6 <body>
 7     <h1>Día da Semana</h1>
 8     <?php
 9         $numeroDia = 3; // Podes cambiar este valor para probar diferentes días
10 
11         switch ($numeroDia) {
12             case 1:
13                 echo "Hoxe é luns.";
14                 break;
15             case 2:
16                 echo "Hoxe é martes.";
17                 break;
18             case 3:
19                 echo "Hoxe é mércores.";
20                 break;
21             case 4:
22                 echo "Hoxe é xoves.";
23                 break;
24             case 5:
25                 echo "Hoxe é venres.";
26                 break;
27             case 6:
28                 echo "Hoxe é sábado.";
29                 break;
30             case 7:
31                 echo "Hoxe é domingo.";
32                 break;
33             default:
34                 echo "Número de día non válido.";
35         }
36     ?>
37 </body>
38 </html>

while

  • Nota: Esta información está baseada na que se atopa na web de php.
  • Sintaxe:
while (expresión) {
      Sentenzas a executar;
}


Se o while ten unha única sentenza a executar podemos poñer:
while (expresión) 
      Unha única sentenza;


  • Existe unha sintaxe alternativa para o anterior:
while (expresión):
      Sentenzas a executar;
endwhile;


  • O que fai while é executar as sentenzas que se atopan dentro das chaves ata que a expresión devolva false.
Fixarse como primeiro se avalía a expresión e se é certa (devolve true) se executan as sentenzas. Se a primeira vez vale false nunca vai entrar a executar as sentenzas.
Vexamos un exemplo:
<?php
$i = 1;
while ($i <= 10) {
    echo $i++;  /* o valor presentado sería
                   $i antes do incremento
                   (post-incremento) */
}
?>
Sairá como resultado os números do 1 ata o 10.


  • Ao igual que có if, podemos empregar outra sintaxe cando estamos a mesturar código php e código html.
Este sería un exemplo de cómo facelo.
<ul>
<?php while ($condicion): ?>
    // código
<?php endwhile; ?>
</ul>

do-while

  • Nota: Esta información está baseada na que se atopa na web de php.
  • Sintaxe:
do {

      Sentenzas a executar;

while (expresión);
  • O concepto é o mesmo que no caso do bucle while. A diferenza estriba en que neste caso o grupo de sentenzas a executar sempre se executarán a lo menos unha vez, xa que a avaliación da expresión se fai despois de executar as sentenzas.


Vexamos un exemplo:
<?php
$i = 0;
do {
    echo $i++;
} while ($i <= 10);
?>
Amosará todos os números dende 0 ata o 10.
  • Se facemos unha modificación a expresión do while para que sexa false na primeira iteración...
<?php
$i = 0;
do {
    echo $i++;
} while ($i > 10);
?>
Amosará o valor 0, e sairá do bucle.


for

  • Nota: Esta información está baseada na que se atopa na web de php.
  • A sentenza 'for' serve para repetir un conxunto de sentenzas mentres se cumpra unha determinada condición. A cada repetición denomínase 'iteración' (ao igual que no caso do while).
  • Sintaxe:
for(expr1;expr2;expr3){

      Sentenzas a executar;
}
Sendo:
  • expr1: Execútase ao comezo do bucle e soamente unha vez. Normalmente é utilizada para dar valores iniciais á variable que se vai utilizar no bucle.
  • expr2: Ao comezo de cada iteración avalíase a expr2 e devolverá true ou false. O bucle for seguirá executando as sentenzas ata que expr2 devolva false.
  • expr3: Ao final de cada iteración avalíase (execútase) expr3.
expr1,expr2 e expr3 poden ser calquera sentenza php e poden poñerse varias sentenzas separadas por ',' (coma).
  • Normalmente imos utilizar o bucle for para executar un conxunto de sentenzas en base a un contador que se irá incrementando en cada iteración (repetición) ata que chegue a un determinado valor, indicado na expresión 'expr2'.
Por exemplo:
for($cont=0;$cont<5;$cont++){

      printf("Amosando o valor de \$cont: %s<br />",$cont);
}

Nota: $cont++ é igual que poñer $cont=$cont+1. Temos tamén a operación contraria ($cont--).


Este exemplo produce a seguinte saída:
      Amosando o valor de $cont:0
      Amosando o valor de $cont:1
      Amosando o valor de $cont:2
      Amosando o valor de $cont:3
      Amosando o valor de $cont:4


  • Para saír do for sen esperar a que se cumpra a condición indicada no mesmo podemos facer uso da sentenza break.
Por exemplo:
for($cont=0;$cont<5;$cont++){
      if($cont==3) break;
      printf("Amosando o valor de \$cont: %s<br />",$cont);
}
Saída:
      Amosando o valor de $cont:0
      Amosando o valor de $cont:1
      Amosando o valor de $cont:2


  • Para saltar unha iteración (é dicir, que non continúe executando as sentenzas que se atopan dentro do for e avalíe directamente a expr3, saltando ao comezo do bucle) podemos facer uso da sentenza continue.
Por exemplo:
for($cont=0;$cont<5;$cont++){
      if($cont==2) continue;
      printf("Amosando o valor de \$cont: %s<br />",$cont);
}
Saída:
      Amosando o valor de $cont:0
      Amosando o valor de $cont:1
      Amosando o valor de $cont:3
      Amosando o valor de $cont:4


  • Podemos utilizar o for (ao igual que o while) para xerar dinamicamente o contido dun formulario dunha páxina web:
Imaxinemos que dispoñemos en $_POST['num_exemplares'] o número de exemplares dun libro que queremos dar de alta na nosa base de datos (este dato ven dun formulario anterior).
Podemos crear o seguinte formulario:
<form action='Alta_Exemplares.php' method='post'>
  <?php
    for($cont=1;$cont<$_POST['num_exemplares'];$cont++){
       echo "<input type='text' name='txtEstadoExemplar[]' />";
    }
  ?>
   <input type='submit' value='Enviar' name='btnAltaExemplares' />
</form>
Poderíamos enviar de vez os estados (roto,perfecto, pintado,...) de cada un dos exemplares a dar de alta (é un exemplo, loxicamente se queremos gardar ese tipo de dato sería mais conveniente utilizar un <select> cos diferentes estados.
Lembrar que xa vimos anteriormente na wiki como enviar datos en forma de array.


  • Ao igual que có if, podemos empregar outra sintaxe cando estamos a mesturar código php e código html.
Este sería un exemplo de cómo facelo.
<?php for ($i = 0; $i < 10; $i++): ?>
    <p>Ítem <?php echo $i; ?></p>
<?php endfor; ?>

Exercicios propostos

  • Exercicio 1: Determinar se un número é positivo ou negativo. Emprega unha variable e dalle os diferentes valores. Debe amosar unha mensaxe diferente para cando é positivo, negativo ou igual a cero.


  • Exercicio 2: Determina se dada unha contrasinal e un usuario, este pode entrar. Debes empregar dúas variables, unha para o usuario e outra para o password. Se o usuario non existe debe amosar unha mensaxe. Se o usuario existe e a contrasinal é incorrecta deberá indicalo. Se a contrasinal é correcta deberá indicar Acceso concedido.


  • Exercicio 3: Contar ata X. Emprega unha variable para gardar o número ata o que ten que contar e amosa en cada liña Número: X dende 1 ata X


  • Exercicio 4: Taboa de multiplicar. Emprega un bucle for para xerar a taboa de multiplicar do 5.


  • Exercicio 5: Amosa o nome dunha froita en función dun número. Por exemplo, 1 => Mazá, 2 => Pera,....


  • Exercicio 6: Partindo dunha variable cadea na que gardas un número, convirte dita cadea a número e comproba que dito número sexa superior a 0. En caso de que non o sexa, terá que incrementar o valor do número na cadea e volverá a facer a comprobación. Así continuamente ata que sexa superior a 0.







Solución Exercicios

  • Exercicio 1: Determinar se un número é positivo ou negativo. Emprega unha variable e dalle os diferentes valores. Debe amosar unha mensaxe diferente para cando é positivo, negativo ou igual a cero.
<!DOCTYPE html>
<html>
<head>
    <title>Exercicio con if-else</title>
</head>
<body>
    <h1>Determinar se un número é positivo ou negativo</h1>
    <?php
        $numero = 10; // Podes cambiar este valor para probar diferentes números

        if ($numero > 0) {
            echo "O número $numero é positivo.";
        } elseif ($numero < 0) {
            echo "O número $numero é negativo.";
        } else {
            echo "O número é igual a 0.";
        }
    ?>
</body>
</html>



  • Solución Exercicio 2: Determina se dada unha contrasinal e un usuario, este pode entrar. Debes empregar dúas variables, unha para o usuario e outra para o password. Se o usuario non existe debe amosar unha mensaxe. Se o usuario existe e a contrasinal é incorrecta deberá indicalo. Se a contrasinal é correcta deberá indicar Acceso concedido.
<!DOCTYPE html>
<html>
<head>
    <title>Exercicio con if-else</title>
</head>
<body>
    <h1>Determinar se un usuario ten acceso</h1>
    <?php
        // Datos del usuario existente
        $usuario_correcto = "usuario1";
        $contrasena_correcta = "secreta123";

        // Datos del usuario ingresado
        $usuario_ingresado = "usuario1"; // Cambia el usuario ingresado
        $contrasena_ingresada = "secreta1234"; // Cambia la contraseña ingresada

        // Comprobar si el usuario y la contraseña son correctos
        if ($usuario_ingresado == $usuario_correcto && $contrasena_ingresada == $contrasena_correcta) {
            echo "Acceso concedido. Benvido, $usuario_correcto.";
        } elseif ($usuario_ingresado == $usuario_correcto) {
            echo "Acceso denegado. A contrasinal é incorrecta.";
        } else {
            echo "Acceso denegado. O usuario non existe.";
        }
    ?>
</body>
</html>



  • Solución Exercicio 3: Contar ata X. Emprega unha variable para gardar o número ata o que ten que contar e amosa en cada liña Número: X dende 1 ata X
<!DOCTYPE html>
<html>
<head>
    <title>Exemplo de bucle for en PHP</title>
</head>
<body>
    <h1>Contar ata un número específico</h1>
    <?php
        $numero_a_contar = 7; // Número hasta el cual se va a contar

        for ($i = 1; $i <= $numero_a_contar; $i++) {
            echo "Número: $i<br>";
        }
    ?>
</body>
</html>



  • Solución Exercicio 4: Taboa de multiplicar. Emprega un bucle for para xerar a taboa de multiplicar do 5.
<!DOCTYPE html>
<html>
<head>
    <title>Exemplo de bucle for en PHP</title>
</head>
<body>
    <h1>Taboa de multiplicar do 5</h1>
    <?php
        $numero = 5;

        for ($i = 1; $i <= 10; $i++) {
            $resultado = $numero * $i;
            echo "$numero x $i = $resultado<br>";
        }
    ?>
</body>
</html>



  • Solución Exercicio 5: Amosa o nome dunha froita en función dun número. Por exemplo, 1 => Mazá, 2 => Pera,....
<!DOCTYPE html>
<html>
<head>
    <title>Exemplo de switch en PHP</title>
</head>
<body>
    <h1>Nome da Fruta</h1>
    <?php
        $numeroFruta = 3; // Podes cambiar este valor para probar diferentes frutas

        switch ($numeroFruta) {
            case 1:
                echo "Mazá";
                break;
            case 2:
                echo "Pera";
                break;
            case 3:
                echo "Laranxa";
                break;
            case 4:
                echo "Kiwi";
                break;
            case 5:
                echo "Banana";
                break;
            default:
                echo "Número de fruta non válido.";
        }
    ?>
</body>
</html>



  • Solución Exercicio 6: Partindo dunha variable cadea na que gardas un número, convirte dita cadea a número e comproba que dito número sexa superior a 0. En caso de que non o sexa, terá que incrementar o valor do número na cadea e volverá a facer a comprobación. Así continuamente ata que sexa superior a 0.
<!DOCTYPE html>
<html>
<head>
    <title>Exemplo de bucle Do-While en PHP</title>
</head>
<body>
    <h1>Ingresar un número positivo</h1>
    <?php
        $numero = -1; // Inicializamos con un valor negativo para garantizar la ejecución del bucle al menos una vez
        // Simulamos una entrada de usuario (en un entorno real, puedes obtener esto de un formulario)
        echo "Por favor, ingrese un número positivo: ";
        $entrada_usuario = "-5"; // Cambia este valor para probar diferentes entradas

        do {
            
            printf("<br />Número ingresado:%s",$entrada_usuario);
            // Convertir la entrada del usuario a un número
            $numero = (int)$entrada_usuario;

            if ($numero <= 0) {
                echo "<br />El número ingresado no es válido. Debe ser positivo.\n";
                $numero++;
                $entrada_usuario = strval($numero);
            }
        } while ($numero <= 0);

        echo "<br />Has ingresado un número positivo válido: $numero";
    ?>
</body>
</html>




-- Ángel D. Fernández González -- (2023).