|
|
(36 revisiones intermedias por el mismo usuario no mostrado) |
Línea 9: |
Línea 9: |
| [[Imagen:DWES_TituloTema3.gif|center]] | | [[Imagen:DWES_TituloTema3.gif|center]] |
| |} | | |} |
− | ___NOTOC___
| + | |
| + | |
| + | __TOC__ |
| {{#widget:Slides}} | | {{#widget:Slides}} |
| <div class="slides layout-regular template-default"> | | <div class="slides layout-regular template-default"> |
− | <div class="slide">
| + | |
− | ===Introducción===
| + | |
− | </div>
| + | |
| {{PHP/Introduccion}} | | {{PHP/Introduccion}} |
− |
| |
− |
| |
− | <div class="slide">
| |
− | ===Programa: conjunto de instrucciones===
| |
| {{PHP/ProgramaConjuntoInstrucciones}} | | {{PHP/ProgramaConjuntoInstrucciones}} |
− | </div>
| + | {{PHP/InstruccionEscribir}} |
− | | + | |
− | | + | |
− | <div class="slide">
| + | |
− | ===PHP: Instrucción escribir===
| + | |
− | {{PHP/InstroccionEscribir}} | + | |
− | </div>
| + | |
− | | + | |
− | | + | |
− | | + | |
− | <div class="slide">
| + | |
− | {{Tip|Para las siguientes actividades debes conocer las estructuras de control básicas.}}
| + | |
− | {{Actividad|
| + | |
− | Haz un programa que sume los 100 primeros números}}
| + | |
− | | + | |
− | </div>
| + | |
− | | + | |
− | <div class="slide">
| + | |
− | | + | |
− | {{Actividad|
| + | |
− | Haz un programa que obtenga de forma aleatoria dia (1-31)mes(1-12) y año(1-3000) y nos diga si la fecha es correcta o no y porqué}}
| + | |
− | </div>
| + | |
− | | + | |
− | | + | |
| {{PHP/Declaraciones}} | | {{PHP/Declaraciones}} |
− | <!--4---------------------------------->
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− | {{Actividad|
| |
− | *Probamos a hacer programas sencillos donde asignamos y visualizamos valores
| |
− | #entero:
| |
− | #cadena:
| |
− | #booleano:
| |
− | #real
| |
− | #NULL
| |
− | }}
| |
− | </div>
| |
− | {{PHP/Declaraciones/Variables}}
| |
− |
| |
− | <div class="slide">
| |
− | ===Valor de variable===
| |
− | *A una variable le puedo asignar un valor en cualquier momento
| |
− | *El tipo de la variable depende del valor que tiene
| |
− | *Hay una serie de funciones del sistema relacionadas con los valores y las variables
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− |
| |
− |
| |
− |
| |
− | ====Funciones de php de tipos y valores====
| |
− | http://php.net/manual/es/ref.var.php
| |
− | *Existen una serie de funciones que son interesantes de conocer
| |
− | *Están relacionadas con los tipos de datos y valores
| |
− | *Alguna de ellas son extremadamente útiles y utilizadas, por ejemplo antes de procesar un dato, hay que ver que dicho dato tenga valor.
| |
− | *A continuación trataremos alguna de ellas
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | ;[http://es1.php.net/manual/es/function.var-dump.php var_dump]
| |
− | <source lang=php>
| |
− | void var_dump($expresion)
| |
− | </source>
| |
− | *Nos da información sobre la estructura de un valor resultado de una expresion
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | ;[http://es1.php.net/manual/es/function.isset.php isset]
| |
− | <source lang=php>
| |
− | bool isset ( $variable )
| |
− | </source>
| |
− | *verifica que una variable tiene valor (está definida y no tiene un valor null)
| |
− | <source lang=php>
| |
− | <?php
| |
− | $VariableValor= 5;
| |
− | print ("El valor de la variable es $VariableValor");
| |
− | print ("El valor de otra variable es $OtraVariableValor");
| |
− | if (isset($VariableValor))
| |
− | print ("VariableValor tiene valor asignado");
| |
− | else
| |
− | print ("VariableValor no no tiene valor asignado");
| |
− | if (isset($OtraVariableValor))
| |
− | print ("OtraVariableValor tiene valor asignado");
| |
− | else
| |
− | print ("OtraVariableValor no no tiene valor asignado");
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | ;[http://es1.php.net/manual/es/function.empty.php empty]
| |
− | <source lang=php>
| |
− | bool empty ($varriable)
| |
− | </source>
| |
− | *Determina si una variable no existe. Devuelve true si no existe o su valor está vacío
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | {{Actividad|
| |
− | Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo}}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | {{Actividad|
| |
− | Usando la función xxxyyy donde xxx e yyy será dec oct bin o hex para convertir el valor de un sistema numérico a otro}}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | {{Actividad|
| |
− | *Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()
| |
− |
| |
− | <source lang=php>
| |
− | $num=0;
| |
− | $nombre="";
| |
− | $nombre=null;
| |
− | $nombre="0";
| |
− | $pregunta = FALSE;
| |
− | </source>
| |
− | }}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | ;[http://es1.php.net/manual/es/function.gettype.php gettype]]
| |
− | *Devuelve el tipo de una variable
| |
− | <source lang=php>
| |
− | string gettype($variable)
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | ;[http://es1.php.net/manual/es/function.is-bool.phpis_bool][http://es1.php.net/manual/es/function.is-double.php is-double] [http://es1.php.net/manual/es/function.is-int.php is-int], is-xxx
| |
− | *son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos
| |
− | [[Archivo:funciones_is-xxx.png]]
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | *Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
| |
− | <source lang=php>
| |
− | string is_int($variable);
| |
− | string is_double($variable);
| |
− | string is_bool($variable);
| |
− | string is_integer($variable);
| |
− | string is_null($variable);
| |
− | string is_string($variable);
| |
− | ...
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | {{Actividad|
| |
− | Visualizar de qué tipo es la expresión mostrada en el código siguiente y visualiza el valor de la expresión}}
| |
− | <source lang=php>
| |
− | $a=5;
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | ;[http://php.net/manual/es/function.unset.php unset]
| |
− | *Destruye la variable especificada perdiéndose su valor
| |
− | void unset ($var)
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | === Cadenas===
| |
− | *En php las cadenas de caracteres, son expresiones literales
| |
− | *Tenemos 4 maneras diferentes de poder expresar una cadena de caracteres como un literal
| |
− | *Comillas dobles ""
| |
− | *Comillas sencillas <nowiki>''</nowiki>
| |
− | *Sintasix '''''heredoc'''''
| |
− | *Sintaxis '''''nowdoc'''''
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Comillas dobles
| |
− | *En ellas se interpretan los caracteres especiales
| |
− | #''''' $''''' seguido de un nombre, interpreta que es una variable y toma su valor (null si no tiene valor o no está definida
| |
− | #'''''\''''' es un caracter de secuencia de escape, e interpreta que el carácter siguiente tiene un significado especial \\ \a \n \r \t , ...
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | *Si queremos que se ignore un carácter especial, éste ha de ir precedido por el caracter '''''\'''''
| |
− | <source lang=php>
| |
− | $nombre = 'pedro';
| |
− | echo "El valor de la variable \$nombre es $nombre";
| |
− | </source>
| |
− | *El resultado sería
| |
− | El valor de la variable $nombre es pedro
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Comillas simples
| |
− | *En ellas solo se interpreta el carácter, seguido de \ o bien seguido de la barra invertida '''''\\''''' comilla simple '''''\<nowiki>'</nowiki>'''''
| |
− | *El resto de caracteres no se interpretan
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <source lang=php>
| |
− | $nombre = 'pedro';
| |
− | echo 'El valor de la variable $nombre es $nombre y \\ \'texto\' si que se ve entre comillas simples';
| |
− | </source>
| |
− | *La salida sería
| |
− | El valor de la variable $nombre es $nombre y \ 'texto' si que se ve entre comillas simples';
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Heredoc
| |
− | *Este tipo de expresión de string es útil para especificar cadenas largas en multilíneas
| |
− | *Se comporta como un string entre comillas dobles para el tema de interpretar y escapar ciertos caracterres
| |
− | *Se establece con el operador '''''<<<'''''
| |
− | *A continuación viene un identificador
| |
− | *Después empieza a especificarse la cadena de caracteres
| |
− | *Para finalizarla se escribe en una nueva línea el identificador
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <source lang=php>
| |
− | <?php
| |
− | $frase = <<<FINAL
| |
− | Esta es una cadena
| |
− | de caracteres que se asignará
| |
− | a la variable frase
| |
− | y termina con la palabra
| |
− | con la que hemos empezado
| |
− | FINAL;
| |
− | <?
| |
− | </source>
| |
− | *La palabra final no debe tener ningún espacio ni tabulador antes
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;NewDoc
| |
− | *Es igual que heredoc , pero sin interpretar los caracteres especiales salvo '''''\\''''' '''''\.'''''
| |
− | *O sea que es como un entrecomillado sencillo
| |
− | *La sintasix es igual que la de heredoc, pero a diferencia el delimitador que se especifica al principio debe de ir entrecomillado con comillas simples
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | <source lang=php>
| |
− | <?php
| |
− | $nombre=pedro;
| |
− | $frase = <<<'FINAL'
| |
− | El valor de $nombre
| |
− | es $nombre, pero aquí
| |
− | no lo veo por que es newdoc
| |
− | FINAL;
| |
− | </source>
| |
− | </div>
| |
− |
| |
− |
| |
− | <!--4---------------------------------->
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− |
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | {{Actividad|
| |
− | *Haz un programa que a partir de precio hora y de número de horas calcule una nómina, teniendo en cuenta que:
| |
− | #mas de 40 horas son extras (1.5 el precio base)
| |
− | #IRPF < 600E exento
| |
− | #Entre 600 y 800 5%
| |
− | #Mas de 800 12 %
| |
− | *Nos debe de dar detalle del bruto, descuentos y neto de salario}}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | {{Actividad|
| |
− | Un programa que nos diga si un número es o no primo}}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | {{Actividad|
| |
− | Haz un programa que muestre la tabla de multiplicar de un número aleatorio en una tabla. Intenta que las sentencias html queden fuera del código de php}}
| |
− |
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | ===Constantes===
| |
− | *Se definen con la funcion '''''define()'''''
| |
− | <source lang=php>
| |
− | define("IVA",0.21);
| |
− | $total=$base*(1+IVA);
| |
− | </source>
| |
− | ;identificador
| |
− | *Se usa el mismo criterio de construcción pero no empieza por $
| |
− | *Se pueden definir y utilizar en cualquier momento que se necesiten.
| |
− | *Para saber si una constante está definida '''''defined()'''''
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Constantes predefinidas===
| |
− | *Como en otros lenguajes, existen una serie de constantes predefinidas
| |
− | *Nos las ofrece el entorno y dependerán de él para su valor
| |
− | *PHP Ofrece un gran número de constantes predefinidas http://php.net/manual/es/reserved.constants.php
| |
− | *En php hay 8 constantes que su valor puede cambiar dependiendo del entorno donde se ejecutan
| |
− | [http://php.net/manual/es/language.constants.predefined.php constantes] predefinidas en php
| |
− | </div>
| |
− |
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | {{Tarea|
| |
− | Realiza un programa que visualice las constantes predefinidas '''variables''' vistas anteriormente, y al menos otras 8 de las constantes predefinidas '''estandar'''}}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Ambito de una variable===
| |
− | *http://php.net/manual/es/language.variables.scope.php
| |
− | *Ya sabemos que en PHP puedes utilizar variables en cualquier lugar de un programa.
| |
− | *Si esa variable aún no existe, la primera vez que se utiliza se reserva espacio para ella.
| |
− | *En ese momento, dependiendo del lugar del código en que aparezca, se decide desde qué partes del programa se podrá utilizar esa variable.
| |
− | *A esto se le llama visibilidad de la variable.
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Ambito de una variable
| |
− | *En función de esto tenemos variables locales a la función y variables locales al script
| |
− | <source lang=php>
| |
− | $a = 1;
| |
− | function prueba()
| |
− | {
| |
− | // Dentro de la función no se tiene acceso a la variable $a anterior
| |
− | $b = $a;
| |
− | // Por tanto, la variable $a usada en la asignación anterior es una variable nueva
| |
− | // que no tiene valor asignado (su valor es null)
| |
− | }
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Ambito de una variable
| |
− | *Para poder hacer dentro de una función a una variable definida fuera, he de usar la palabra reservada '''''global'''''
| |
− | <source lang=php>
| |
− | $a = 1;
| |
− | function prueba()
| |
− | {
| |
− | global $a;
| |
− | $b = $a;
| |
− | // En este caso se le asigna a $b el valor 1
| |
− | }
| |
− | </source>
| |
− | {{Actividad|
| |
− | *Una funcion que coja un precio y lo actualice según el iva que reciba de argumento.
| |
− | *El precio total se muestra fuera de la funcion
| |
− | }}
| |
− | </div>
| |
− | <div class="slide">
| |
− | ====Variables '''''static'''''====
| |
− | *Si una variable la declaramos static, hacemos que su posición de memoria no se elimine aunque no sea accesible por el script
| |
− | *Cuando volvamos a una sección del script donde vuelve a ser accesible, entonces retomaremos esa posicion de memoria, con el valor que tuviera
| |
− | <source lang=php>
| |
− | function contador()
| |
− | {
| |
− | static $a=0;
| |
− | $a++;
| |
− | // Cada vez que se ejecuta la función, se incrementa el valor de $a
| |
− | }
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;static
| |
− | *Las variables estáticas deben inicializarse en la misma sentencia en que se declaran como estáticas. De esta forma, se inicializan sólo la primera vez que se llama a la función.
| |
− | {{Tarea|
| |
− | *Haz un programa que llame 20 veces a una función
| |
− | *Cada vez que llame a la función, la función muestra un mensaje que me diga '''''me has llamado 1 vez''''', o '''''me has llamado 20 veces'''''
| |
− | }}
| |
− | </div>
| |
− | <div class="slide">
| |
− | <!--4---------------------------------->
| |
− |
| |
− | === Estructuras de control 1===
| |
− | A continuación veremos las estructuras de control
| |
− | Son de tres tipos
| |
− | #Selección
| |
− | #Iteración
| |
− | #Secuenciales
| |
− | *Para construirlas necesitamos operadores
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Selección if===
| |
− | *Sentencia que evlúa una expresión booleana y ejectua o no en función de que dicha expresión sea true o false
| |
− | <source lang=php>
| |
− | if (condicion)
| |
− | Sentencia 1;
| |
− | </source>
| |
− | <hr>
| |
− | <source lang=php>
| |
− | if (condicion){
| |
− | Sentencia_1;
| |
− | Sentencia_2;
| |
− | }
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Sentencias de control
| |
− | if (expresion)
| |
− | Sentencia_1;
| |
− | else
| |
− | Sentencia_2;
| |
− | </source>
| |
− | *También existe la opción elseif donde aportaremos una condición que se ha de cumplir para que se ejectuten las sentencias que a continuación acompañan.
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Estructura de control
| |
− | <source lang=php>
| |
− | if (expresion){
| |
− | sentencias;
| |
− | }
| |
− | elseif (expresion){
| |
− | sentencias;
| |
− | }
| |
− | else{
| |
− | sentencias;
| |
− | }
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | *Alternativamente puede usarse esta sintaxis que es usada cuando se quiere intercalar condigo html fuera del php.
| |
− | *También se puede usar la sintaxis vista anteriormente, pero parece que esta quede más compacta.
| |
− |
| |
− | <source lang=php>
| |
− | if (condicion):
| |
− | Sentencia 1;
| |
− | endif;
| |
− | </source>
| |
− | </div>
| |
− | <div class="slide">
| |
− |
| |
− | *Ahora lo vemos con código html
| |
− | <source lang=php>
| |
− | <?php if (true): ?>
| |
− |
| |
− | <h1>Esta frase seguro que aparece ahor</h1>
| |
− | <!--escribirmos código html -->
| |
− | <?php else: ?>
| |
− | <h1>Aquí escribiré poco ya que no va a aparecer nada</h1>
| |
− | <!--escribirmos código html -->
| |
− | <?php endif ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Operadores ternario===
| |
− | *Es una forma más compacta de un if else con una única instrucción.
| |
− | Expresión? SentenciaOKExpresion : SentenciaNoOkExpresion
| |
− | {{Actividad|Programa que me de si un número aleatorio es par o impar}}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Seleccion switch===
| |
− | *Este es un selector múltiple
| |
− | *La sentencia case puede albergar cualquier valor de un tipo simple, no está limitado a enteros como en otros lenguajes
| |
− | *Estructura indicada cuanto tengamos más de dos casos ante una variable o sitiación que evaluemos excluyentes entre sí
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Switch
| |
− | <source lang=php>
| |
− | <?php
| |
− | switch ($nombre){
| |
− | case "Maria":
| |
− | echo "eres una chica";
| |
− | break;
| |
− | case "Pedro";
| |
− | echo "eres una chico";
| |
− | break;
| |
− | default:
| |
− | echo "no se qué nombre tienes";
| |
− | }
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Iteración while===
| |
− | *Como en todos los bucles debemos siempre tener encuenta
| |
− | #inicializar la variable de control
| |
− | #acutalizarla correctamente dentro del bucle
| |
− | #realizar de forma correcta la evaluación de condiciòn (< o <=), (> o >=), ...
| |
− | <source lang=php>
| |
− | <?php
| |
− | $i = 1;
| |
− | while ($i <= 10) {
| |
− | echo "iteración número ."$i++;
| |
− | }
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | *Alternativamente podemos usar la siguiente sintaxis
| |
− | <source lang=php>
| |
− | $i = 1;
| |
− | while ($i <= 10):
| |
− | $i++;
| |
− | echo "iteración número ."$i;
| |
− | endwhile;
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− |
| |
− | ===Iteración do-while===
| |
− | *Este tipo de bucle donde seguro que al menos se ejectua un iteración
| |
− | *Respecto al anterior nos ahorra una comparación.
| |
− | <source lang=php>
| |
− | <?php
| |
− | $num=10;
| |
− | $resultado=1;
| |
− | *Esta es la única sintaxis posible con este tipo de sentencia
| |
− | do {
| |
− | $resultado:=$resultado*$num;
| |
− | $num--;
| |
− | } while ($num>0);
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Iteración for===
| |
− | *Es un bucle de tipo contador
| |
− | <source lang=php>
| |
− | for (expresion_inicial; condicion;expresion_actualizar){
| |
− | sentencias;
| |
− | }
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Estructura for
| |
− | *tiene tres partes
| |
− | ;expresion_inicial:
| |
− | :Se ejecuta una sóla vez al comienzo del bucle. se usa para inicializar variables
| |
− | ;condicion
| |
− | :Es una expresión booleana que se evalúa en cada interación
| |
− | :Si da un valor false, ya no se ejectua ninguna vez
| |
− | :Si no hay expresión se toma como true
| |
− | :En este caso para que el bucle no sea infinito deberá llevar algún break (instrucción de terminación de bloque) en algún momento
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Estrucutura for: condición
| |
− | <source lang=php>
| |
− | <?php
| |
− | for ($a=0; ;$a++){
| |
− | echo "$a*$a=".$a*$a."<br>";
| |
− | if ($a==10)
| |
− | break;
| |
− | }
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− | <div class="slide">
| |
− | ;Estructura for: expresion_actualizar
| |
− | :Esta expresión actualiza el valor de alguna/as variables
| |
− | :Se ejecuta en cada interacion
| |
− | *El ejemplo anterior
| |
− | <source lang=php>
| |
− | <?php
| |
− | for ($a=0;$a<10 ;$a++){
| |
− | echo "$a*$a=".$a*$a."<br>";
| |
− | }
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ===Operadores===
| |
− | *Son símbolos que realizan acciones sobre operandos y dan como resultado un valor
| |
− | *Tenmos diferentes tipos de operadores en función del tipo de operandos y del resultado
| |
− | ;operadores aritméticos (+,-,*,/,%,**, ++, --)
| |
− | *Retorna un valor numérico
| |
− | *el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operadores
| |
− | <source lang=php>
| |
− | $a=5;
| |
− | if ($a++==5)
| |
− | echo '$a que vale '.$a.' dice que vale 5 ???? <br>'
| |
− | . 'Esto es por que primero compara y luego incrementa<br>';
| |
− |
| |
− | echo 'ahora $a vale '.$a.'<br>';
| |
− |
| |
− | if (++$a==6)
| |
− | echo 'esto nunca saldrá ya que $a se incrementa antes de comparar';
| |
− | else
| |
− | echo 'efectivamente ahora $a ya no vale 6 sino '.$a.'<br>';
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operadores
| |
− | *El código anterior genera la siguiente salida
| |
− | <source lang=php>
| |
− | $a que vale 6 dice que vale 5 ????
| |
− | Esto es por que primero compara y luego incrementa
| |
− | ahora $a vale 6
| |
− | efectivamente ahora $a ya no vale 6 sino 7
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;operadores comparación (==,<,>,>=,<=,<>,!=,===,!==)
| |
− | :Este tipo de operadores genera un booleano como resultado de evaluar la expresión
| |
− | {{Puntos clave|
| |
− | *'''''==''''' operador de comparacion '''''igual que''''' (mismo valor)
| |
− | *'''''===''''' operador de comparacion '''''exactamente igual que''''' (mismo valor y tipo)
| |
− | }}
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operador == Vs ===
| |
− | <source lang=php>
| |
− | $num=1;
| |
− | if ($num==true)
| |
− | echo '$num es igual a true<br>';
| |
− | if ($num===true){
| |
− | echo "esto nunca se ejecutará";
| |
− | }else
| |
− | echo '$num no es exactamente igual a true';
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operador == vs ===
| |
− |
| |
− | *El código anterior generaría la siguiente salida
| |
− | <source lang=php>
| |
− | $num es igual a true
| |
− | $num no es exactamente igual a true
| |
− | </source>
| |
− | *Ver la sección '''''comparación de tipos''''' de la página oficial
| |
− | http://php.net/manual/es/language.operators.comparison.php
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;operadores de concatenacón( .) concatena cadena de caracteres.
| |
− | :El operador + no está sobre cargado, observa el siguiente código
| |
− | <source lang=php>
| |
− | $nombre="Maria";
| |
− | $apellido = " de la Oh";
| |
− |
| |
− | $nombreCompleto = $nombre.$apellido;
| |
− | echo "el valor de nombre completo es $nombreCompleto ---<br>";
| |
− |
| |
− | $nombreCompleto = $nombre+$apellido;
| |
− | echo "el valor de nombre completo es $nombreCompleto --<br>";
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;La salida del código anterior sería
| |
− | <source lang=php>
| |
− | el valor de nombre completo es Maria de la Oh ---
| |
− | el valor de nombre completo es 0 --
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;Operadores de asignacion (= , =>)
| |
− | :Se pueden combinar con los aritméticos (+=, *=, ...) y con los de concatenación (.=)
| |
− | :En este caso el valor de la variable de la izquierda se toma como primero operando
| |
− | ;Operador de asiganción
| |
− | <source lang=php>
| |
− | <?php
| |
− | $b=1;
| |
− | for ($a=0;$a<10;$a++){
| |
− | $b*=10;
| |
− | echo 'valor de $b ='.$b.'<br>';
| |
− | }
| |
− | ?>
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | *El código anterior genera la siguiente salida
| |
− | <source lang=php>
| |
− | valor de $b =10
| |
− | valor de $b =100
| |
− | valor de $b =1000
| |
− | valor de $b =10000
| |
− | valor de $b =100000
| |
− | valor de $b =1000000
| |
− | valor de $b =10000000
| |
− | valor de $b =100000000
| |
− | valor de $b =1000000000
| |
− | valor de $b =10000000000
| |
− | </source>
| |
− | </div>
| |
− |
| |
− | <div class="slide">
| |
− | ;operadores de ejecución (``)
| |
− | :PHP proporciona un operador especial que permite ejecutar sentencias
| |
− | *Observa el siguiente código
| |
| | | |
− | <source lang=php> | + | <!--{{PHP/Variables}}--> |
− | <?php
| + | {{PHP/Declaraciones/Constantes}} |
− | $Discos = `df`;
| + | |
− | echo "<pre>$Discos</pre>";
| + | |
− | ?>
| + | |
− | </source>
| + | |
− | </div>
| + | |
| | | |
− | <div class="slide">
| + | {{PHP/Declaracion/Funciones}} |
| | | |
− | *El código anterior generará la siguiente salida
| + | {{PHP/EstructurasControl}} |
− | <source lang=php>
| + | {{PHP/Cadenas}} |
− | Filesystem 1K-blocks Used Available Use% Mounted on
| + | {{PHP/OperadoresExpresiones}} |
− | /dev/sda5 86378608 6072360 75895384 8% /
| + | {{PHP/MasSintaxis}} |
− | none 4 0 4 0% /sys/fs/cgroup
| + | |
− | udev 4023720 4 4023716 1% /dev
| + | |
− | tmpfs 806904 1384 805520 1% /run
| + | |
− | none 5120 0 5120 0% /run/lock
| + | |
− | none 4034504 6588 4027916 1% /run/shm
| + | |
− | none 102400 28 102372 1% /run/user
| + | |
− | /dev/sda7 101797224 40480360 56122728 42% /home
| + | |
− | </source>
| + | |
− | </div>
| + | |
| | | |
− | <div class="slide">
| |
− | ;Invocando funciones del sistema
| |
− | *El operador anterior (comillas invertidas) es igual que la funcion '''''shell_exec()'''''
| |
− | http://php.net/manual/es/function.shell-exec.php
| |
− | </div>
| |
| | | |
− | <div class="slide">
| |
− | ;operadores lógicos (and,&&, or, ||, xor !)
| |
− | http://php.net/manual/es/language.operators.logical.php
| |
− | :Funcionan por cortocircuito
| |
− | :El operador '''''xor''''' da verdad si los operando son de diferente valor uno true y el otro false
| |
− | :La notación '''''and''''' y '''''&&''''' representan el mismo operador, igual ocurre con '''''or''''' y '''''||'''''
| |
− | *La diferencia entre los operadores es la prioridad
| |
− | http://php.net/manual/es/language.operators.precedence.php
| |
| |} | | |} |