====== Teoría 1 ======
===== Conceptos de Programa, Proceso, Procesador, Variables, Sentencias, etc. =====
(Ver asimilación con recetas)
===== Inserción de código PHP en página HTML =====
===== Comentarios y secuencia =====
(este es un comentario de multiples lineas) */
echo 'Esto es una Prueba
'; // Ya se imprimio el mensaje (este es un comentario de una linea)
echo 'segundo renglon';
?>
===== Salto de linea con PHP =====
';
echo 'saltó !';
echo ' y ahora sigo en el mismo :(';
?>
===== Variable =====
'; // Se asigna un texto a una variable
echo $texto; // Se imprime la variable
print $texto . '
'; // Se imprime la variable y se utiliza el operador . (concatenación de strings)
print $texto . '
'; // Se imprime la variable y se utiliza el operador . (concatenación de strings)
?>
===== Variable - Segundo Ejemplo =====
'; // Concatenacion
// Imprime: $nombre $apellido \n
print '$nombre $apellido \n'; // Las variables y caracteres especiales NO se interpretan dentro de '
// Imprime: Rodriguez, Juan
print $apyno . '
';
// Imprime: Rodriguez
print $apellido . '
';
$apellido .= $nombre . ' pepe';
// Imprime: RodriguezJuan pepe
print $apellido . '
';
?>
===== Enteros y Reales =====
';
print $importe . '
'; // Imprime: 126.5
/* Operadores utilizados: + - (- unario) * / %
Precedencia de operadores:
Por ejemplo, en la expresión 1 + 5 * 3, la respuesta es 16 y no 18 */
print '1 + 5 * 3 => '; // Imprime: 1 + 5 * 3 =>
print 1 + 5 * 3; // Imprime: 16
print '
';
print '(1 + 5) * 3 => ' . (1 + 5) * 3 . '
'; // Imprime: (1 + 5) * 3 => 18
// Otra forma de operar: += -= *= /= %=
$cantidad += 1;
print 'La cantidad ahora es ' . $cantidad . '
'; // Imprime: La cantidad ahora es 2
// Otra forma más de operar: ++ --
print 'Sumo despues y ' . $cantidad++ . '
'; // Imprime: Sumo despues y 2
print 'Muestro ' . $cantidad . '
'; // Imprime: Muestro 3
print 'Sumo antes y ' . ++$cantidad . '
'; // Imprime: Sumo antes y 4
?>
===== Booleanos =====
'; // Imprime: senial1 vale: 1
$senial1 = !$senial1;
print 'senial1 vale: ' . $senial1 . '
'; // Imprime: senial1 vale:
$senial1 = !$senial1;
print 'senial1 vale: ' . $senial1 . '
'; // Imprime: senial1 vale: 1
// Operadores logicos: !, AND, &&, OR, || y XOR
print 'senial1 AND senial2 vale: ' . ($senial1 AND $senial2) . '
'; // Imprime: senial1 AND senial2 vale:
print 'senial1 && senial2 vale: ' . ($senial1 && $senial2) . '
'; // Imprime: senial1 && senial2 vale:
print 'senial1 OR senial2 vale: ' . ($senial1 OR $senial2) . '
'; // Imprime: senial1 OR senial2 vale: 1
print 'senial1 || senial2 vale: ' . ($senial1 || $senial2) . '
'; // Imprime: senial1 || senial2 vale: 1
print 'senial1 XOR senial2 vale: ' . ($senial1 XOR $senial2) . '
'; // Imprime: senial1 XOR senial2 vale: 1
?>
La diferencia entre AND y && y entre OR y || es la precedencia.
Consultar [[http://www.php.net/manual/es/language.operators.php#language.operators.precedence]].
===== Selección =====
módulo
print 'El número ' . $numero . ' es par
';
print 'porque su división por dos da resto cero.';
} else
print 'El número ' . $numero . ' es impar';
print '
';
if ($numero > 500)
print 'El número ' . $numero . ' es mayor a 500';
elseif ($numero % 2 === 0)
print 'El número ' . $numero . ' es par';
else
print 'El número ' . $numero . ' es impar';
?>
Notar los siguientes puntos:
* Indentación
* El else es optativo
* Los bloques se encierran entre {} (llaves); si el bloque tiene una sola línea, el uso de llaves es opcional
* El simbolo para comparacion es === , porque = es de asignacion
* El print
se hace fuera de la condicion
===== Repetición =====
1)
print 'La cantidad es ' . --$cantidad . '
';
print 'El valor final de cantidad es ' . $cantidad . '
';
// En un while puede ser que no se ejecute nunca la sentencia??????
// Que pasaria si el print dentro del while fuera:
// print 'La cantidad es ' . $cantidad . '
';
// (nos olvidamos de decrementar $cantidad)??????
?>
Algunos comentarios:
* Estructura de bloque para más de una sentencia mediante { }
* La condición debe ser alcanzable ! ! ! !
* La acción debe hacer que la condición esté más "cerca" de cumplirse
* Cuando terminó el ciclo es **seguro** que la condición se cumple
===== Repetición - Do While =====
';
$cantidad++;
} while ($cantidad < 4);
print 'Resultado final de cantidad: ' . $cantidad;
?>
Notar que con DO .... WHILE la sentencia **seguro** que se ejecuta al menos una vez
===== Repetición - For =====
';
}
?>
Observaciones:
* Forma y momento de evaluacion de las tres expresiones
* Usar siempre { } ?
* El ciclo **siempre se completa** ! ! ! !
* Luego del FOR, al igual que en el WHILE se sabe que la condicion se cumple