|
|
Línea 13: |
Línea 13: |
| <div id=apuntes_distancia> | | <div id=apuntes_distancia> |
| | | |
− | {{PHP/Introduccion}} | + | {{PHP/OperadoresExpresiones}} |
− | {{PHP/ProgramaConjuntoInstrucciones}} | + | {{PHP/MasSintaxis}} |
− | {{PHP/InstruccionEscribir}}
| + | |
− | {{PHP/Declaraciones}}
| + | |
− | <!--{{PHP/Variables}}-->
| + | |
− | {{PHP/Declaraciones/Constantes}}
| + | |
| | | |
− | {{PHP/Declaracion/Funciones}}
| |
− | {{PHP/EstructurasControl}}
| |
− | {{PHP/Cadenas}}
| |
| | | |
| | | |
Revisión de 08:03 22 oct 2018
LENGUAJE PHP: EL LENGUAJE EN GENERAL
¡El servidor te responde
PHP Un lenguaje de script al lado del servidor
Contenido
- 1 Operadores y expresiones
- 1.1 Operadores
- 1.1.1 Operadores de expresiones numéricas
- 1.1.2 Operadores con asignación en una misma variable
- 1.1.3 Operadores comparación (==,<,>,>=,<=,<>,!=,===,!==)
- 1.1.4 operadores de concatenacón( .) concatena cadena de caracteres.
- 1.1.5 Operadores de asignación (= , =>)
- 1.1.6 Operadores de ejecución (``)
- 1.1.7 Operadores lógicos (and,&&, or, ||, xor !)
- 1.2 Comentarios
- 1.3 Dónde poner el código embebido
- 1.4 Escribir PHP con directivas de inclusión
- 2 Funciones propias de php sobre tipos y valores
Operadores y expresiones
¿Qué es una expresión?
- Son partes de las frases de un lenguaje de programación
Definición
- Es un conjunto de operador/es y operando/s
- que se evalúan
- y dan como resultado un valor
|
|
- Una expresión tiene un tipo asociado
- En php el tipo lo marca el operador
- Los operandos se intentan adaptar al tipo
- No es una instrucción, es parte de ella
|
Operadores
- Son símbolos que realizan acciones sobre operandos y dan como resultado un valor
- Tenemos diferentes tipos de operadores en función del tipo de operandos y del resultado
OPERADORES HABITUALES EN PHP
TIPO DE OPERADOR
|
Operadores aritméticos
|
Operadores lógicos
|
Operadores de comparación
|
Operadores de auto incremento/decremento
|
Operadores de string: concatenación
|
OPERADOR
|
+ - * / % **
|
AND OR && || !
|
== != << < > <= >= <=> ??
|
++$a $a++ --$a $a--
|
. .=
|
TIPO DE EXPRESIÓN
|
numérico
|
booleano
|
booleano
|
numérico
|
string
|
OTROS OPERADORES MENOS HABITUALES
TIPO DE OPERADOR
|
Operadores asignación simple
|
Operadores asignación compuesta
|
Operadores asignación por referenica
|
Operadores bit a bit
|
Operador de control de errors
|
Operador de ejecución
|
OPERADOR
|
=
|
+= *= -= %= **= .=
|
&
|
& | ^ ~ << >>
|
@
|
``
|
TIPO DE EXPRESIÓN
|
valor asignado
|
numérico
|
valor referenciado
|
numérico
|
no retorna valor anula comunicación de errores si se pordujeran
|
resultado del comando ejecutado
|
Operadores de expresiones numéricas
- Intervienen con valores numéricos y retorna un número como resultado de su evaluación
|
- Aritméticos (+,-,*,/,%,**)
- Autoincremente/decremento(++ --)
- Asignación compuesta (los aritmétcios segidos de una asignación += -= *= ....)
1.- Operadores aritméticos
- Cuando haya varios en una operación, hay que tener cuidado con la preferencia. Mejor esplicitarla con paréntesis
|
Qué ejecutaría el siguiente código
- Mejor ponerlo así
Ejecución |
---|
$num = 5+6*8-4/2;
echo "<h1>Valor de número $num</h1>";
$num = 5+(6*8)-(4/2);
$num = 5+48-2;
$num = 53-2;
echo "<h1>Valor de número $num</h1>";
- Salida
|
|
- El operador quizá menos utilizado es el módulo(%) y el exponente(**).
(: El módulo se usa mucho para ver si un número es o no divisible por otro.)
Actividad
- Buscar todos los números divisibles por 3 del 1 al 100
Posible solución |
---|
$lista = null;
for($n=1; $n<=100; $n++){
if ($n%3==0)
$lista.="$n, ";
}
echo "<h1>$lista</h1>";
- Salida
|
(: En el ejemplo anterior, al final sale una coma de más, que ya veremos cómo quitarla.)
|
- El exponente consiste en elevar un número a otro
Actividad
- Obtenerlo las diferentes potencias de 2 hasta elevarlo a 15
- 21 22 23...215
Posible solución |
---|
for($n=1; $n<=15; $n++){
echo "2<sup>$n</sup>=".(2**$n)."<br />";
}
- Salida
|
|
Autoincremente / Decremento
- el ++, -- son valores de autoincremeto y autodecremento, pueder ser pre o post
- El el caso pre, primero incrementa y luego toma el valor
- El el caso post, primero toma el valor y luego incrementa
Title: forma de usar los operadores
- Pre es anteponiendo el operador
- Post es posponiéndolo
|
- Para muchos casos es lo mismo hacerlo pre que post. Esto ocurre cuando en la instrucción solo haga eso
$a=5;
$a++;
echo "Valor de a es $a";
Es igual que
$a=5;
++$a;
echo "Valor de a es $a";
- En ambos casos la salida dará el valor 6
Pero
$a=5;
echo "Valor de a es ".++$a."<br />";
echo "Valor de a es $a<br />";
No es igual que
$a=5;
echo "Valor de a es ".$a++."<br />";
echo "Valor de a es $a<br />";
}}
Realiza el siguiente programa Entendiendo qué hace
//Declara una variable entera y asigna el valor 4
//Usando el operador unario, incrementa una unidad y compáralo con el valor 5
//Muestra un mensaje mostrando su valor
//Compáralo con el valor 4 y decrementa en una unidad , muestra información de que no es igual y muestra el valor
//Analiza la salida y prueba deferentes situaciones
|
- Operadores
$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>';
?>
- Operadores
- El código anterior genera la siguiente salida
$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
Operadores con asignación en una misma variable
- Cuando la variable donde asignamos el resultado de la expresión forma parte de la expresión, la podemos simplificar
- Veamos el siguiente ejemplo
- Esto lo podemos hacer con cualquiera de los operadores aritméticos
Operadores comparación (==,<,>,>=,<=,<>,!=,===,!==)
- Este tipo de operadores genera un booleano como resultado de evaluar la expresión
- == operador de comparación igual que (mismo valor)
- === operador de comparación exactamente igual que (mismo valor y tipo)
|
Operador == Vs ===
$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';
operadores de concatenacón( .) concatena cadena de caracteres.
- El operador + no está sobre cargado, observa el siguiente código
$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>";
- La salida del código anterior sería
el valor de nombre completo es Maria de la Oh ---
el valor de nombre completo es 0 --
Operadores de asignación (= , =>)
- 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 asignación
<?php
$b=1;
for ($a=0;$a<10;$a++){
$b*=10;
echo 'valor de $b ='.$b.'<br>';
}
?>
- El código anterior genera la siguiente salida
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
Operadores de ejecución (``)
- PHP proporciona un operador especial que permite ejecutar sentencias
- Observa el siguiente código
<?php
$Discos = `df`;
echo "<pre>$Discos</pre>";
?>
- El código anterior generará la siguiente salida
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 86378608 6072360 75895384 8% /
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
- Separando instrucciones
- Para separar una instrucción de otra usaremos ; (punto y coma)
- Su uso es obligatorio a excepción de la última instrucción que se puede obviar
- Esto es por que el fin de código php ?> implica esta instrucción
- Nosotros mejor lo usaremos siempre.
- La instrucción inicio de bloque y fin de bloque no lleva nunca ;
El ;
Si solo queremos insertar una instrucción puede suele obviarse el ;
<html>
......
<?php echo "hola" ?>
<!-- instrucciones html -->
<?php echo "otro hola" ?>
<!-- mas instrucciones html -->
<?php echo "otra instrucción " ?>
.....
</html>
|
El ;
También puede haber ;
<html>
......
<?php echo "hola" ;?>
<!-- instrucciones html -->
<?php echo "otro hola" ; ?>
<!-- mas instrucciones html -->
<?php echo "otra instrucción " ; ?>
.....
</html>
|
Probando código php
- Haz un programa que dónde incluyas código dentro del body
- Muestra con etiqueta h1, h2 y h3 tres frases
- Utiliza la función echo para visualizar
- Muestra en el título un texto escrito desde php
- Compara el fichero del servidor con el que recibe el cliente
Posible solución |
---|
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title><?php echo "Este es un título desde php" ?></title>
</head>
<body>
<?php
echo "<h1>Mensaje en texto de h1</h1>";
echo "<h2>Mensaje en texto de h2</h2>";
echo "<h3>Mensaje en texto de h3</h3>";
?>
</body>
</html>
|
|
Comentarios
- Son ignorados por el intérprete, no generan instrucciones, pero se consideran parte del software
- En php tengo 4 formas de hacer comentarios
<?php
/*
Este código no hace nada pero muestra
la sintaxis de los comentarios
como este que ocupa varias líneas tipo lenguaje C o Java
*/
$miVariable= 8;// Esta parte de la línea se ignorará
$miVariable+= 8;# y esta parte de línea tambien
echo "Valor de la variable $miVariable";
//Este es otro comentario de una sola línea
#Este es otro modo de hacer comentarios tipo script de linux
/**
Este comentario permite insertar información
Para que luego phpDocumentor genere una página web
Con la información de mi código
*/
?>
- Así como comentar las funciones como veremos
- Este código nos visualizará lo siguiente
El resto del código será ignorado
- Es bueno escribir al principio del script
<?php
/**
* User: Nombre y apellidos
* Date: 19/10/17
* Version: 17:40
*/
?>
- Aquí tienes la referencia para ver las diferentes directivas para generar código
- Más adelante en el curso las veremos.
probando comentarios
- Escribe la siguiente función anterior en un fichero php
function miFuncion($num1, $num2){
if ($num1>$num2)
return $num1;
else
return $num2;
Ahora justo en la línea de encima de función escribe
- y luego presiona intro
- Te debería de quedar
/**
*
* @param type $num1
* @param type $num2
* @return type
*/
function miFuncion($num1, $num2){
if ($num1>$num2)
return $num1;
else
return $num2;
|
Dónde poner el código embebido
Pregunta
Dónde escribir código php
Respuesta
Dónde queramos que se ejecute algo
|
|
- Donde queramos que se ejecute algo
- Se ejecuta como si fuera un solo programa
- A la hora de incluir php podemos se usa mucho la filosofía Modelo Vista /Controlador que veremos en otro tema
Modelo vista controlador
- Trata de separar el código según su cometido, de forma muy resumida
- Hay acciones que realizan cálculos y obtienen resultados (Controlador
- Hay acciones que lo que hacen es visualziar valores (Vista)
- Hay acciones que se encargan de interactuar con la base de datos (Modelo)
|
Empecemos aplicar el modelo vista controlador
- Podemos llevar este criterio desde el principio siguiente el esquema siguiente
- Esqueleto MVC
<!-- Empecemos nuestro fichero escribiendo instrucciones php
Estas instrucciones realizarán cálculos y obtendrán valores
En ningúm momento generan salidas,
Trataremos de almacenar los valores en variables
-->
<?php
//instrucciones php
$variables = "Mensaje escrito desde php";
?>
<!--Ahora el código html-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>probando php</title>
</head>
<body>
<!--Dentro del html cuando necesitemos ver valores
los escribiemo
También puede ser que necesitemos instrucciones
las escribimos, pero intentando escribir lo necesario.
Esto es vista
-->
<h1> <?php echo $variable ?></h1>
</body>
</html>
?>
|
|
Programa para ver si un número es o no par
|
|
No te preocupes si no entiendes el código, lo iremos viendo
<?php
//-----------CONTROLADOR-----------------------------
//Instrucciones que realizan cálculos
//Guardo el resultado que quiero mostrar en variables
$a = rand(1, 100); //Genero un número aleatorio
$fecha = date("d m Y", time()); //Obtenemos la fecha
$title = "Hoy, $fecha, veremos si '$a' es par o impar "; //Creo un título
if ($a % 2 == 0) //Si el número es par
$msj = "El número $a es par";
else
$msj = "El número $a es impar";
?>
<!-- Ahora metemos el código php cuando lo necesitemos-->
<!------------------- VISTA (solo la parte php)----------------------->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>probando php</title>
</head>
<body>
<h1> <?php echo $title ?></h1>
<hr />
<h3> <?php echo $msj ?></h3>
</body>
</html>
|
Escribir PHP con directivas de inclusión
- Podemos escribir el código php escribiéndolo en un fichero aparte y luego lo incluimos.
- Incluimos el fichero explícitamente
- Para ello usamos directivas o instrucciones del tipo include
include('ruta/nobrefichero');
require('ruta/nobrefichero');
include_once('ruta/nombrefichero');
require_once('ruta/nombrefichero');
- Ambas son palabras reservadas del lenguaje y sirven para incluir el contenido de un fichero con sentencias php en esa posición del código.
- Ambas incluyen el contenido de un fichero php en esa posición
- Con include si no se encuentra se continúa ejecutando en esa posición
- Con require si no está el fichero se detiene en ese punto la ejecución del script
|
include/require Vs include_once/require_once
- Ambas incluyen el contenido de un fichero php en esa posición
- include/require siempre buscan e incluyen el fichero en esa posición
- include_once/require_once antes de incluirlo mira a ver si ya lo incluyó previamente en cuyo caso ya no lo hace
|
Probando include require
Crea 4 ficheros con el siguiente código
fichero_include.php
<?php
echo "<b><i>Hola desde un fichero include </b></i><hr />";
?>
fichero_include_once.php
<?php
echo "<b><i>Hola desde un fichero include once </b></i><hr />";
?>
fichero_require.php
<?php
echo "<b><i>Hola desde un fichero require </b></i><hr />";
?>
fichero_require_once.php
<?php
echo "<b><i>Hola desde un fichero require once </b></i><hr />";
?>
Ahora crea un programa principal dónde uses las instrucciones de inclusión vistas en este apartado.
<?php
echo "<h2>Ahora vamos a incluir un fichero con include</h2>";
include 'ficheros/fichero_include.php';
echo "<h2>ahora vamos a incluir un fichero con require</h2>";
require 'ficheros/fichero_require.php';
echo "<h2>Ahora vamos a incluir un fichero con include_once</h2>";
include_once 'ficheros/fichero_include_once.php';
echo "<h2>Ahora vamos a incluir un fichero con require_once</h2>";
require_once 'ficheros/fichero_require_once.php';
echo "<h2>Ahora vamos a incluir un fichero que no existe con include</h2>";
include 'ficheros/fichero_no_existe_include.php';
echo "Vemos que no pasa nada, por que el fichero no existe pero sigue <hr />";
echo "<h2>Ahora volvemos a incluir un fichero con include_once</h2>";
include_once 'ficheros/fichero_include_once.php';
echo "Vemos que no pasa nada, por que el fichero ya se había incluido y no se vuelve a incluir<hr />";
echo "<h2>Ahora volvemos a incluir un fichero con require_once</h2>";
require_once 'ficheros/fichero_require_once.php';
echo "Vemos que no pasa nada, por que el fichero ya se había incluido y no se vuelve a incluir<hr />";
echo "<h2>Ahora vamos a incluir un fichero con include para ver que sí que se vuelve a incluir</h2>";
include 'ficheros/fichero_include.php';
echo "<h2>Ahora vamos a incluir un fichero con require y vemos que sí se vuelve a incluir</h2>";
require 'ficheros/fichero_require.php';
echo "<h2>Ahora no incluimos con require un fichero que no existe</h2>";
require 'ficheros/fichero_no_existe_require.php';
echo "Esta línea ya no se imprimirá ni nada que vaya después de aquí";
?>
|
Práctica
- Siéntete cómoda en modificar el fichero y ver el resultado
- Observa que estas instrucciones no son exactamente funciones, por lo que no necesitan paréntesis (aunque se puede poner por mantener una homogeneidad con sintaxis del uso o invocación de funciones)
include 'ficheros/fichero_include.php'
//Es léxicamente y sintácticamente igual que
include ('ficheros/fichero_include.php');
|
- Sensitive case?
- El lenguaje es sensible a mayúsculas y minúsculas en los siguientes casos:
- En los identificadores de variables
$edad =10;
$Edad =20;
$edad y $Edad son 2 variables diferentes
- En los nombres de funciones
function $calculaEdad($anyo){
...
}
function $CalculaEdad($anyo){
...
}
//Son dos funciones diferentes
- El lenguaje NO es sensible a mayúsculas y minúsculas en:
- las palabras reservadas (if o If o IF o iF,...)
If () {
//..
}
IF () {
//..
}
if () {
//..
}
iF () {
//..
}
//Todas las construcciones if son correctas
Funciones propias de php sobre tipos y valores
http://php.net/manual/es/ref.var.php
- Existen una serie (muchas) de funciones que son interesantes de conocer
- Estas funciones ya están creadas y se pueden usar directamente
- 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
- var_dump
void var_dump($expresion)
- Nos da información sobre la estructura de un valor resultado de una expresion
- isset
- verifica que una variable tiene valor (está definida y no tiene un valor null)
<?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");
?>
Funciones para determinar existencia de variables
Tenemos tres funciones muy parecidas pero no del todo iguales
Función
|
Significado
|
is_null($variable)
|
Determina si una variable ($variable) tiene valor null
|
empty($variable)
|
Determina si una variable ($variables)está vacía
|
isset($variable)
|
Determina is una variable ha sido definida y no tiene un valor vacío.
|
- Es importante saber qué es para php un valor nulo, o si está vacía que no son conceptos sinónimos
- Valor null
-
$a=null //$a tiene valor null.
is_null($a) //true
unset($a) //Se destruye la variable y toma el valor null
is_null($a) //true
//$b una variable que no existe tiene el valor null
is_null($b) //true
- Variable vacía
$a=null //$a está vacía
empty($a) //true
$a="";
empty($a) //true
$a="hola";
empty($a) //false
unset($a);
empty($a) //true
$a=false;
empty($a) //true !OJO!
$a=0;
empty($a) //true !OJO!
- Puedes ver la siguiente app en la que puedes aportar valores
http://manuel.infenlaces.com/apuntes/existencia_valor_variables
- Tener en cuenta que si evaluamos si una variable está vacía no es
- empty
- Determina si una variable no existe. Devuelve true si no existe o su valor está vacío
Actividad
Probamos las fuciones var_dump() que nos da información sobre el valor y el tipo
|
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
|
Actividad
- Define las siguientes variables que se especifican en el código siguiente y verifica el resultado con empty()
$num=0;
$nombre="";
$nombre=null;
$nombre="0";
$pregunta = FALSE;
|
- gettype]
- Devuelve el tipo de una variable
string gettype($variable)
- [1]is-double is-int, is-xxx
- son funciones donde xxx especificado en el último nombre, puede ser cualquiera de los tipos
- Todas ellas devuelve un booleano que indica si la variable, valor o expresion es o no de ese tipo,
string is_int($variable);
string is_double($variable);
string is_bool($variable);
string is_integer($variable);
string is_null($variable);
string is_string($variable);
...
Actividad
Visualizar de qué tipo es la expresión mostrada en el código siguiente y visualiza el valor de la expresión
|
- unset
- Destruye la variable especificada perdiéndose su valor
void unset ($var)
Funciones de fechas
- En php hay muchas fucniones para gestionar fechas, siendo esta una tarea frecuente el las aplicaciones web.
- Vamos a estudiar 5 funciones siendo dos de ellas muy utilizadas
- En php se trabaja mucho con las fechas. Para tal cometido existe una clase llamada DateTime y DateTimeInterface (https://www.php.net/manual/es/class.datetime.php), pero muchas de sus acciones se pueden hacer de forma imperativa con funciones que vamos a ver.
time()
Obtiene una marca de tiempo
https://www.php.net/manual/es/function.time.php
- Esta es una función muy importante en php que conviene entender bien.
- Me retorna el número de segundos transcurridos desde el 1 de Enero de 1970 00:00:00 GMT.
Esta fecha está relacionada con el sistema operativo UNIX que empezó a hacerse visible a partir del año 1970
- La función time retorna un entero largo numérico
usar time()
- Prueba a visualizar el retorno de la función time()
- Mira lo que ocurre si recargas la página en ejecución, como se van actualizando los segundos
Pregunta
- Entiendes por qué camba el valor
|
Porbando time() |
---|
Segundos transcurridos desde 1 de enero de 1970 <span style='color:red'>$tiempo </span></h2>";
?>
|
|
date()
- La función convierte un timestamp en una fecha como cadena de caracteres con el formato que le especifiquemos
- Para ver los metaracteres que representan el formato puedes ver la referencia web de la función
Esta función admite dos parámetros, uno de ellos es obligatoria
funcion date()
data("formato_fecha", "timestamp")
- parámetro 1
- formato_fecha
Es un string formado por metacaracteres y caracteres literales que establece el formato en el cual queremos ver la fecha (d/m/y H:i:s), por ejemplo, donde d representa el número de día, m del mes ... y los caracteres / y : apareceran literales en la cadena
- parametro 2
- timestamp
Es una fecha en formato timestamp o entero largo como segundos desde una fecha
Si no se establece, se toma el instante actual, es decir el resultado de la función time()
|
Ejemplo de uso de date
<?php
$fecha_actual =date("d/m/Y H:i:s");
echo "<h1>La fecha actual es $fecha_actual</h1>";
$fecha_futura =date("d/m/Y H:i:s", time()+24*60*60);
echo "<h1>La fecha de mañana será $fecha_futura</h1>";
|
strtotime()
Convierte un string a fecha. https://www.php.net/manual/es/function.strtotime.php
- Esta función admite dos parámetros, uno de ellos es obligatoria
funcion strtotime
strtotime("fecha_como_string", "timestamp")
- parámetro 1
- fecha_como_string
Es una cadena que representa una fecha
Debemos facilitarla con el formato que entienda el sistema
Por defecto "mes/dia/year"
- parametro 2
- timestamp
Es una fecha en formato timestamp o entero largo como segundos desde una fecha
Tip: Recuerda que stamptime es un entero largo que respresenta un número de segundos desde el 1 de enero de 1970
|
- Si quisiéramos cambiar el formato, podemos usar la función data_default_timezone_set("Zona_horaria")
<?php
$dia= 27;
$mes = 12;
$year = 2001;
$fecha_string="$dia-$mes-$year";
date_default_timezone_set('Europe/Madrid');
$tiempo = strtotime($fecha_string);
echo "<h1>Marca de tiempo de $fecha_string <span style='color:red'>$tiempo</h1>";
- El código anterior imprimirá
Ejemplo de uso de strtotime
<?php
$dia =27;
$mes=11;
$year=2001;
$fecha ="$mes/$dia/$year";
$time = strtotime($fecha);
echo "<h2>Valor de $fecha es $time</h2>h2>";
<br/>
|
strftime()
https://www.php.net/manual/es/function.strftime.php
- Da formato a una fecha según el idioma establecido
- Para poder ver el uso de esta función , debemos establecer uno de los idiomas que tengamos instalados en el sistema.
- Para realizar esta acción debemos usar la función setlocale
- setlocale()
https://www.php.net/manual/es/function.setlocale.php
Esta función establece un idioma para la fecha, monedas,...
Para poder usar esta función debemos tener instalado en el sistema ese conjunto de caracteres de formato para la localidad deseada
- Para ver las localidades instaladas puedes usar el comando
- Para instalar nuevas localidades
sudo dpkg-reconfigure locales
- Saldrá un menú y seleccionaremos las localidades. Para los ejercicios debes tener instaladso
- es_ES.UTF-8 Español
- fr_FR.UTF-8 Francés
- en_US.UTF-8 Inglés
- Para instalar una localidad concreta
sudo locale-gen "en_US.utf8"
Esta función retorna false o bien la localidad esablecida, si todo ha ido bien
checkdate(mes, dia, year)
- Esta función recibe tres enteros que representan una fecha y retorna un booleano que idica si la fecha es o no correcta