Diferencia entre revisiones de «Usuario:ManuelRomero/PHP/Resumen»
De WikiEducator
< Usuario:ManuelRomero | PHP
Línea 118: | Línea 118: | ||
*La posición de cada elemento la especifico con un número | *La posición de cada elemento la especifico con un número | ||
$misNotasIndexado =[6,7,8,7,6,7,8,7]; | $misNotasIndexado =[6,7,8,7,6,7,8,7]; | ||
− | *Es | + | *Es igual que hacer |
$misNotasIndexado =[0=>6,1=>7,2=>8,3=>7,4=>6,5=>7,6=>8,7=>7]; | $misNotasIndexado =[0=>6,1=>7,2=>8,3=>7,4=>6,5=>7,6=>8,7=>7]; | ||
:'''''asociativo''''' | :'''''asociativo''''' | ||
*La posición de cada elemento la especifico con una cadena de caracteres | *La posición de cada elemento la especifico con una cadena de caracteres | ||
*En este caso a la hora de insertar un array, hay que especificar obligatoriamente en valor del índice | *En este caso a la hora de insertar un array, hay que especificar obligatoriamente en valor del índice | ||
+ | <source lang=php> | ||
$misNotasAsociativo =["maria"=>6,"ana"=>7,"nieves"=>8,"luis"=>7,"ester"=>6,"carlos"=>7,"pedro"=>8,"nieves"=>7]; | $misNotasAsociativo =["maria"=>6,"ana"=>7,"nieves"=>8,"luis"=>7,"ester"=>6,"carlos"=>7,"pedro"=>8,"nieves"=>7]; | ||
+ | </source> | ||
Línea 134: | Línea 136: | ||
echo "Valor de la nota : $nota"; | echo "Valor de la nota : $nota"; | ||
} | } | ||
+ | </source> | ||
*También podría acceder a los índices | *También podría acceder a los índices | ||
'''para el array $misNotasIndexado coge cada indice y guardalo en $indice y cada elemento de esa posición y almacénalo en $nota | '''para el array $misNotasIndexado coge cada indice y guardalo en $indice y cada elemento de esa posición y almacénalo en $nota | ||
Línea 140: | Línea 143: | ||
echo "Valor de la nota $indice : $nota"; | echo "Valor de la nota $indice : $nota"; | ||
} | } | ||
+ | </source> | ||
*En el caso de arrays asociativo nos interesará la mayoría de las veces acceder al valor del índice y del elemento | *En el caso de arrays asociativo nos interesará la mayoría de las veces acceder al valor del índice y del elemento | ||
'''para el array $misNotasAsociativo coge cada indice y guardalo en la variable $persona y cada elemento de esa posición y almacénalo en $nota | '''para el array $misNotasAsociativo coge cada indice y guardalo en la variable $persona y cada elemento de esa posición y almacénalo en $nota |
Revisión de 07:29 12 mar 2015
Contenido
Instalación
- Apache
- php
- mysql
- netbeans
- java
- debug
Sintaxis básica
- Código embebido
<?php ..... ?>
- En un mismo fichero puedo abrir y cerrar etiquetas
- El comportamiento es como si todo es un fichero, que es lo que es
<?php $titulo= "El título de la página " $trozosCodigo =0; ?> <source lang=php> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Probando cosas con título <?php echo $titulo; $trozosCodigo++;?></title> </head> <body> <?php echo "Otro trozo de código php "; $trozosCodigo+; ?> </body> <?php $trozosCodigo+; echo "En total hay $trozosCodigo de código;"; ?> </html>
- Variables
- Identificadores que empiezan por $
<?php $variable = "valor"; ?>
- Lenguaje fuertemente tipado de declaración dinámica
- 5 tipos básicos
- Los tipos pueden cambiar en cualquier momento
<?php $a= 5; // $a de tipo entero $a="maria"; // $a de tipo string $a=true; // $a de tipo booleano $a=5.5; // $a de tipo float $a=null; // $a de tipo null ?>
Array
- Son estructuras o colecciones de alguna manera ordenadas de valores de cualquier tipo
- Existen muchas funciones para trabajar con ellas
- Definirlo
<?php $miArray = array();//Crea un array vacío $otroArray = array("Maria", "Luis", "Pedro", "Marta", "Carol"); $otroArrayVacio = []; $array4 = [1,5,4,3,2]; ?> <7source> ;Añadir elementos después del último que hubiera <source lang=php> <?php $miArray[] =10 ; $otroArray[] = "Marga"; $otroArrayVacio[] =8; $array4 []=15; ?>
- Añadir elementos en una posición concreta
<?php $miArray[5] =10 ; //El próximo elemento se añadirá en la posicón 6 aunque solo haya 2 elementos $otroArray[2] = "Marga"; //Si ya existiera la posición 2 se sustituiría $otroArrayVacio[10] =8; $array4 [1]=15; ?>
- Eliminar una posición del array
- Se usa la conocida función unset(...)
- Por ejemplo eliminar las posición previamente añadidas
- Añadir elementos en una posición concreta
<?php unset($miArray[5]); //Elimina el elemento de la posicón 6 Si fuera el último el siguiente que añadamos sin indexar cubrirá esa posición, si no se dejará un hueco unset($otroArray[2]); unset($otroArrayVacio[10]); unset($array4 [1]); ?>
- Funciones que más hemos usado con array
count($array) o size($array)
- Nos dice el número de elementos de un array, que no tiene porqué coincidir con el siguiente elemento a añadir.
- Tipos de array
- Es importante tener clara la diferencia entre array asociativo y array indexado
- Ambos casos son colección de elementos por que son array
- Se diferencian en la forma que voy a indicar cada posición de los diferentes elementos
- indexado
- La posición de cada elemento la especifico con un número
$misNotasIndexado =[6,7,8,7,6,7,8,7];
- Es igual que hacer
$misNotasIndexado =[0=>6,1=>7,2=>8,3=>7,4=>6,5=>7,6=>8,7=>7];
- asociativo
- La posición de cada elemento la especifico con una cadena de caracteres
- En este caso a la hora de insertar un array, hay que especificar obligatoriamente en valor del índice
$misNotasAsociativo =["maria"=>6,"ana"=>7,"nieves"=>8,"luis"=>7,"ester"=>6,"carlos"=>7,"pedro"=>8,"nieves"=>7];
- Recorrer un array foreach(....)
- Hay diferentes maneras de recorre un array, pero esta estructura es la más cómoda
- La forma de interpretarla narrativamente sería
para el array $misNotasIndexado coge cada elemento y almacénalo en $nota
foreach ($misNotasIndexado as $nota){ echo "Valor de la nota : $nota"; }
- También podría acceder a los índices
para el array $misNotasIndexado coge cada indice y guardalo en $indice y cada elemento de esa posición y almacénalo en $nota
foreach ($misNotasIndexado as $indice => $nota){ echo "Valor de la nota $indice : $nota"; }
- En el caso de arrays asociativo nos interesará la mayoría de las veces acceder al valor del índice y del elemento
para el array $misNotasAsociativo coge cada indice y guardalo en la variable $persona y cada elemento de esa posición y almacénalo en $nota
foreach ($misNotasAsociativo as $persona => $nota){ echo "Valor de la nota $persona : $nota"; }
- Es importante marcar que las variables $indice, $persona o $nota, son variables que creamos nosotros y pueden lógicamente tener cualquier nombre
Estructuras de control
- Ya sabemos que hay 3 tipos de estructuras de control
- selectivas
if (expresión_booleana) { instrucciones a ejecutar en el caso de que expresión_booleana retorne true Si solo hubiera una instrucción podemos omitir las llaves }else{ instrucciones a ejecutar en el caso de que expresión_booleana retorne false Esta parte no es obligatoria }
- Tenemos también el llamado selector múltiple
switch $variable{ case valor1 : //instrucciones break; case valor2 : //instrucciones break; // ....... default: //instrucciones_default break; }
- Recordad que si no ponemos el braek, se ejecutarán todos los case hasta encontrar un break o fin del switch
- La sección default es opcional y se entrará en ella si no hay coincidencia previa
- Lo que se hace en cada case es mirar a ver si el valor de la variable coincide
- bucle
- Como ya sabemos tenemos tres tipos
- El bucle clásico
- Recordemos las tres reglas de hora (inicializar, comparar correctamente, actualizar).
while (expresion_booleana){ //instrucciones }
- El bucle contador
- Ponemos un ejemplo que se va incrementando la variable de 11
- Podemos mocificar cada una de las tres partes del for
for ($var = valor_inicial; $var < valor_final; $var++){ //instrucciones }
- El bucle que ejecuta una iteración segurao
do{ //instrucciones }while (expresion_booleana);
- Observar que en este caso al final va un ; pues separamos de la siguiente instrucción
- Secuenciales
- Son instrucciones que van una detrás de otra
- Usamos el ; para separar una de otra
//instruccion de asignacion $variable = valor o expresion ; //instruccion de invocacion funcion del sistema o creada por nosotros mail ($destino, $submit, $mensaje, $from) ; //instruccion de escribir echo "hola valientes y entusiastas de la programacion"; //instruccion de lectura $variable = $_POST['variable']; //instruccion de inicio fin de bloque en este caso sin punto y coma { }
Leer valores
- Para leer valores necesitamos un formulario (no es la única forma pero si la más usada)
- Otras maneras leer de ficheros por ejemplo
- La idea es que al hacer una solicitud web vienen también todos los contenidos de los diferentes input de un formulario
- form
<form action="ficheroPhpAEjecutar.php" method="POST" <input type = "text|radio| ..." name="id_para_leer_en_php" value ="valor_por_defecto" <input type=submit value="enviar"> <form>
- Recordad los atributos importantes
- El name de los input es la forma de leer en servidor
- Cuando hacemos click en el submit es cuando invocamos al fichero especificado
- leer
$variable =$_POST["id_para_leer_en_php"] ; $variable =$_GET["id_para_leer_en_php"] ; $variable =$_REQUEST["id_para_leer_en_php"] ; $variable = intput_filter (INPUT_POST, "id_para_leer_en_php", FILTER.....) ; $variable = intput_filter (INPUT_GET, "id_para_leer_en_php", FILTER.....) ;
- Si pasamos un filtro, no podemos leer arrays.
- Siempre leeremos como una cadena de caracteres
Escribir mensajes
echo"texto ", "mas texto, " tercer parámetro mas texto"; print "solo puedo leer con un parámetro"; printf ("Este me permite escribir con formato usando \%);
Expresiones
- PHP es un lenguaje orientado a expresiones
- Esto quiere decir que en php todo se consideran expresiones
- una expresión es un conjunto de valores (operadorandos) y operadores
- Los operadores actúan sobre los operandos y obtengo un valor como resultado de evaluar y realizar los cálculos de la expresión
Expresiones de asignación
- Dan como resultado el valor que asigno
$a = 5; echo "Quiero ver el valor de esta expresion ".$a=5; //Veré que me imprime 5
Expresiones aritméticas
- Dan como resultado el cálculo obtenido
$b = ($a+5*$c-8 /5)%3// .... (+-*/%)
Expresiones booleanas
- Esta expresión da como resultado un valor true o false
- Puenden ser de dos tipos
comparación
- <, > <=, >=, !=, ==, ===, !==
- Hay qu tener cuidado con la igualdad de valor (==) y la igualdad de valor y tipo (===)
$a = 10; if ($a == true) echo "Esto es cierto porque $a se adapta a true"; if ($a === true) echo "Esto es false porque $a se adapta a true"; $a = "pedro" if ($a == false) echo "Esto es cierto porque $a se adapta a 0 y el 0 se adapta a false"; if ($a === false) echo "Esto no es cierto ya que $a no es false ";
- Ver la siguiente tabla para mas detalle
http://php.net/manual/es/types.comparisons.php
lógicas
- and && or || xor
Funciones
- Escribir con un nombre un conjunto de instrucciones
- Una vez descrita la puedo invocar donde quira
- Solo las variables internas definidas como global las puedo utilizar fuera de la función con el valor que ésta hubiera dejado
- parámetros
- return, devuelve un valor