PHP Curso Dia 19/12/23

Sentencia While...EndWhile

	// notacion de corchetes
	$i = 1;
	while ($i <= 10) {
		echo $i++;  /* el valor presentado seria
					   $i antes del incremento
					   (post-incremento) */
	}
	//alternativa con notacion puntos
	$i = 1;
	while ($i <= 10):
		echo $i;
		$i++;
	endwhile;
	
12345678910
12345678910
Ejemplo While recorriendo un texto reutilizado como matriz

    $nombre="adriana";
    $longitud=strlen($nombre);  // función de calculo de longitud de cadena
    while ($i<$longitud){
        echo $nombre($i)."-";
    }
	
a.d.r.i.a.n.a.
Ejemplo DO...While

    $nombre="adriana";
    $longitud=strlen($nombre);  // función que retorna el largo de la cadena
    $j=0;
    do {
        echo $nombre[$j].".";
        $j++;
    } while ($j<$longitud);
	
a.d.r.i.a.n.a.
Ejemplo for... con condición dentro del bucle

    $arreglo_frutas=array('limon','manzana','pera','platano','higo');
    for ($i=0;$i<sizeof($arreglo_frutas);$i++){
        if ($arreglo_frutas[$i]=='pera'){
            continue;  // se salta los procesos posteriores y continua con el bucle
        }
        echo $arreglo_frutas[$i]." ";
    }
	
limon manzana platano higo
Ejemplo for... con condición dentro del bucle con un break para salir durante el proceso

    $arreglo_frutas=array('limon','manzana','pera','platano','higo');
    for ($i=0;$i<sizeof($arreglo_frutas);$i++){
        if ($arreglo_frutas[$i]=='pera'){
            break;  // Salir del bucle si coincide con el valor de la matriz
        }
        echo $arreglo_frutas[$i]." ";
    }
	
limon manzana
Ejemplo MATCH PHP8

    $palabra="playa";
    $genero="F";
    echo   // ejemplo de MATCH de valor inicial con valores propuestos
        match ($genero){
            'M'=>'El',
            'F'=>'La'
        }.' '.$palabra;
	
La playa
Ejercicio con Match PHP8

    $variable=rand(0,1000);
    $resultado= match (true){ // solución tomando el resultado en variable
        $variable == 0 => 'Pequeño',
        $variable > 0 && $variable <= 500 => 'Mediano',
        $variable > 500 => 'Grande',
        default => "No se sabe "
    }.' ';
    echo $resultado." ".$variable;
	
Mediano 26
Ejercicio con Match2 PHP8

    $variable=rand(0,1000);
    echo  // solución tomando el resultado directo a pantalla
        match (true){  // usamos TRUE para validar condiciones booleanas  en el MATCH
        $variable == 0 => 'Pequeño ',  // mismo proceso de evaluación con operadores
        $variable > 0 && $variable <= 500 => 'Mediano ',
        $variable > 500 => 'Grande ',
        default => "No se sabe "
    };
    echo $variable;
	
Grande 524
Ejercicio con INCLUDE PHP8

    $variable_ejemplos=200;
    include $_SERVER['DOCUMENT_ROOT'].'/ej1219a.php'; // Utilizar la variable de SERVER para conocer la ruta completa
	// esto asegura las rutas de archivos aunque cambiemos el alojamiento de la web
    echo "<br/>INCLUDE COMPLETO<br/>";
    echo $variable_ejemplos." ".$variable_otro;    
	
Inicio del archivo ej1219a.php
100
Fin del archivo ej1219a.php
INCLUDE COMPLETO
200 100
Uso de PHP creando HTML y contenido de variables

    <table border="1">> // Ejemplo de HTML para tabla
        <thead><tr><th>País</th><th>Capital</th></tr></thead>
        <tbody>
        <tr><td>España</td><td>Madrid</td></tr>
        <tr><td>Francia</td><td>Paris</td></tr>
        </tbody>
        </table>
        <table border="1">
        <thead><tr><th>Nombres</th></tr></thead>
        <tbody>
    <?php
	$nombres=array ('España','Francia','Italia','Alemania');
    foreach ($nombres as $valor){   // modelos de relleno usando ECHO o con HTML parcial
        echo "<tr><td>$valor</td></tr>"; // PHP interpretado
        ?><tr><td><?=$valor ?></td></tr><?php //Mixto html con PHP incrustado
    }
	
PaísCapital
EspañaMadrid
FranciaParis
Nombres
España
España
Francia
Francia
Italia
Italia
Alemania
Alemania
Estructura de control de switch

	$nombre='Juan'; // solución tomando el primer caracter y planteando con switch
	switch ($nombre[0]){
		case 'a':
		case 'e':
        case 'i':
        case 'o':
        case 'u':
        case 'A':
        case 'E':
        case 'I':
        case 'O':
        case 'U':   
			echo "Comienza por por la vocal ".$nombre[0];
			break;
        case '1':
		case '2':
		case '3':
		case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
        case '0':
			echo "Haces trampas poniendo números ".$nombre[0];
			break;
		default:
			echo "La primera letra es consonante ".$nombre[0];
	}
    $caracter= ord($nombre[0]);  // solución alternativa convierte el caracter el número y procesa con IF...ELSEIF...ELSE...ENDIF
    if ($caracter=65 || $caracter=69 || $caracter=73 || $caracter=79 || $caracter=85 || $caracter=97 || $caracter=101 || $caracter=105 ||$caracter=111 || $caracter=117 ):
        echo "Comienza con la vocal ".$nombre[0];
    elseif (($caracter<65 && $caracter>90) && ($caracter<97 && $caracter>122)):
        echo "No es una vocal o consonante ".$nombre[0];
    else:
        echo "Es una consonante ".$nombre[0];
    endif;
    if (strpos("aeiouAEIOU",$nombre[0])!=0 ):  // solución por texto en cadena contenida con STRPOS
        echo "Comienza con la vocal ".$nombre[0];
    elseif (strpos("bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ",$nombre[0])!=0):
        echo "Es una consonante ".$nombre[0];
    else:
        echo "No es vocal ni consonante ".$nombre[0];
    endif;
	
La primera letra es consonante J
Comienza con la vocal J
Es una consonante J
Alternativas a la lectura de caracteres en una cadena

    $variable="Esta es la cadena de texto que vamos a procesar"; // cualquier cadena de texto
	$resultado=$variable[3];  // esto nos retorna la cuarta letra
	echo "El caracter 4 es ".$resultado;
	$resultado=substr($variable,3,1); // toma de la variable el caracter 3 con una longitud de 1 caracter
	echo "Desde la posición 3 el primer caracter es: ".$resultado;
	$resultado=substr($variable,0,2); // al poner solo el primer valor se asume que desde izquierda son dos caracteres
	echo "Los dos caracteres de la izquierda son ".$resultado;
	$resultado=substr($variable,-4); // con valores negativos comienza a contar desde la derecha, este caso toma los 4 de la derecha
	echo "Los cuatro caracteres de la derecha son ".$resultado;
	$resultado=substr($variable,-7,3); // desde la derecha séptimo caracter, toma 3 caracteres
	echo "Desde la derecha a partir del séptimo caracter tomamos 3 caracteres ".$resultado;
	
El caracter 4 es a
Desde la posición 3 el primer caracter es: a
Los dos caracteres de la izquierda son Es
Los cuatro caracteres de la derecha son esar
Desde la derecha a partir del septimo caracter tomamos 3 caracteres roc
Longitud de una cadena de texto

	$variable="Esta es la cadena de texto que vamos a procesar"; // cualquier cadena de texto
	echo strlen($variable);
	
47