Funciones PHP

Función: es una subrrutina independiente que realiza una operación muy definida, la cual la podemos utilizar muchas veces desde nuestro código. Esto significa un código más legible, compacto y fácil de depurar, ya que dentro de nuestro script solo tendremos la llamada a la función y la función en sí será externa (otro archivo o biblioteca), o estara en uan parte del script destinada a esa función.

Función externa: la definición de la función puede hacerse fuera de la secuencia de comandos y almacenarse en una biblioteca externa , de esta manera estará accecible a todos los programas.

Función interna: la definición de la función se realiza dentro de la secuencia de comandos o script de esta manera estará accecible desde cualquier punto del mismo programa, pero los programas externos no podrán hacer uso de ella.

Cuando necesitemos una función, la utilizaremos haciendo una llamada por su nombre específico. En ocasones la función también recibe valores, estos irán colocados entre paréntesis y se denominan parámetros.
Después de haberse ejecutado la función, esta devuelve un resultado al programa llamante, este resultado se denomina valor de retorno o valor de función.

// Sintaxis de una función con paso de parámetros 
function nombreFuncion($parametro_1, $parametro_2) {

	// Expresión
	
	// Devolver valor de parámetros 
	return $parametro_1 + $parametro_2; 	
	
}


$parametro_1 = 4;
$parametro_2 = 2;
	
	// Llamada a la función exactamente con su mismo nombre 
	echo 'Suma parámetros = ' . nombreFuncion($parametro_1, $parametro_2); 
	// Devuelve 6  

Función con paso de parámetros

Resultado devuelto por la función con paso de parámetros.
Suma parámetros = 6

Función con paso de parámetros

// Sintaxis de una función sin parámetros 
function sinParametros( ){
	
	$var_1 = 4;
	$var_2 = 2;
	
	// Suma de variables 
	$resultado = $var_1 + $var_2;
	
	echo 'La suma de las variables = ' . $resultado; // Devuelve 6 
	
}

// Llamada a la función 
sinParametros(); 

La suma de las variables = 6

El nombre de una función no debe empezar con el símbolo dolar ($), debe ser un nombre único. Aunque los nombres de función no diferencian entre mayúsculas y minúsculas es recomendable ser coherente al nombrar la función exactamente con el mismo nombre con el que ha sido llamada.
Los parámetros son obcionales y van entre los parántesis y separados por una coma (,).
La instrucción return es obcional, ya que la función en algunos casos puede retornar un valor o realizar cualquier acción determinada sin necesidad de retornar ningún valor.

Tipos de función

Las funciones de PHP se clasifican en tres tipos:

Funciones nativas del lenguage: Son las que se utilizan con matrices y cadenas.

Subir

Funciones extensión de lenguaje: Las podemos encontrar en bibliotecas de extensión y no están instaladas en la configuración básica de PHP. Al estar en bibliotecas algunas extensiones se instalan de forma predeterminada aunque hay otras que se tienen que instalar en el sistema de forma específica.

Subir

Funciones definidas por el usuario: Se trata de las funciones que creamos como usuarios, son personalizadas para resolver un problema propio de nuesto código.

Subir

Definición de funciones

Función definida en el código principal
Podemos definir una función entre el resto del código principal, la posición de la definición de la función puede estar en cualquier parte del código principal, tanto dalante como detrás de la posición en que es llamada. Si definimos una función y no es utilizada, no pasa nada, solo se ejecutará al tener una llamada.

Funciones definidas dentro de una condición
Si definimos una función dentro de un bloque condicional if(), ésta no podrá ser llamada si no se cumple la condición en la que se encuentra definida la función.

Función definida dentro de otra función
Si definimos la función_2 dentro de función_1, la función_2 no se podrá ejecutar si no ha sido llamada antes la función_1.

Subir

Parámetros de la función

Una función puede recibir tres tipos de parámetros

Pasados por valor: forma predeterninada y más segura para pasar parámetros a la función. Los parámetros llegan a la función como una copia de la variable pasada como parámetro, lo que significa que la variable cambiará de valor en la ejecución de la función, pero no variará el valor de la variable original.

// Pasados por valor 	   
$porValor = 100;

echo "Valor inicial de \$porValor: $porValor <br />";

// Llamada a función con paso de parámetro por valor 
prueba( $porValor );


  // Modificamos el valor del parámetro 
  function prueba( $porValor ) {
	  
	echo "Valor de \$porValor dentro de función: $porValor <br />"; 
	// Sigue siendo el mismo valor 
	  
	$porValor = 200; // Cambiamos el valor de $porValor 
	  
	// Valor modificado 
	echo "Valor de \$porValor modificado dentro de la función: $porValor  <br />"; 
  
  } 


Valor inicial de $porValor fuera de la función: 100

Valor de $porValor dentro de función: 100

Valor de $porValor modificado dentro de la función: 200

Subir

Pasados por referencia: La variable pasada no será una copia de la variable del código llamante, sino que será la propia variable la que pase. Esta forma de pasar parámetros nos irá bien en el momento que deseamos que la variable pasada como parámetro cambie el valor automáticamente en la variable del código llamante.

Para utilizar el paso por referencia pondremos el símblo ampersand & delante del parámetro de la función, esto hará que PHP interprete que el parámetro ocupa la misma dirección que la variable del código llamante, será como un "alias" dentro de la función.

NOTA: Desde PHP 6 los objetos se pasan por referencia sin necesidad de hacerlo explícitamente.

Tendremos especial cuidado con el uso de parámetros, ya que si el código llamante contiene 2 parámetros, la función tendrá también 2 parámetros, nunca menos, si no fuese así, PHP 6, producirá un mensaje de advertencia, activado desde el archivo php.ini mediante la activación de error_reporting. Una manera de omitir esta advertencia es colocando el símbolo arroba (@) delante del código llamante (expresión).
En caso de que la función tubiera más parámetros que la llamada, PHP 6 no produciria ningún tipo de mensaje o advertencia, únicamente se ignoran los atributos que exceden.

// Parámetro pasado por referencia (&) 

// Función (nombre en minúsculas)
function porReferencia( &$var ) {
    
	// Multiplico valor de $x por 2 
	$var = $var * 2;
	
	echo "Valor de $x pasado por referencia = " . $var;
	
}
	
	// Variable vale 100 
	$x = 100;
	echo "Valor inicial de $x = " . $x;
	
	// Llamada a función (nombre en mayúsculas) 
	PORREFERENCIA($x); // Ahora vale 200  

Valor inicial de $x = 100

Valor de $x pasado por referencia = 200

Subir

Parámetros predeterminados: Se trata de pasar como parámetro una variable con valor constante, la cual declaramos entre los paréntesis de la misma función. El valor predeterminado debe ser una expresión constante, nunca una variable, un miembro de una clase o una llamada a una función.

// Parámetros predeterminados
// La constante declarada se coloca al final 
function programar($peachepe, $achetemele = "HTML") {
	
	return "Saber programar con $achetemele y $peachepe.";

}
 
	echo programar("PHP"); // Valor para el primer parámetro  

Resultado con parámetros predeterminados:
Saber programar con HTML y PHP.

// Parámetros predeterminados 
function predeterminado($dis = "diseño"){
    
	return "Como hacer un $dis.";
	
}

	echo predeterminado(); // Recoge el valor de parámetro 
	echo predeterminado(null); // No recoge nada 
	echo predeterminado("programa"); // Recoge el valor llamante  

Como hacer un diseño. -> Sin parámetros

Como hacer un . -> Parámetro NULL

Como hacer un programa. -> Valor como parámetro

// Parámetros predeterminados
// Uso de arrays y del tipo especial NULL como valores predeterminados 
function predetArray($codigo = array("HTML"), $programacion = NULL) {
	
	// Si en la llamada no existen parámetros (NULL), entonces devuelve 'NotePat++' 
    $gestor = is_null ($programacion) ? "NotePat++" : $programacion;
	
	// Retorna parámetros separados por una coma (,) más el valor de la variable '$gestor' 
    return "Programar una web " . join(", ", $codigo) . " mediante $gestor. 
	     <br />";
	
}

	// Código llamante 
	echo predetArray();
	echo predetArray(array("HTML", "PHP"), "Dreamweaver CS6"); 

Llamada sin parámetros:
Programar una web HTML mediante NotePat++.

Llamada con parámetros:
Programar una web HTML, PHP mediante Dreamweaver CS6.

Subir

Listas de parámetros de longitud variable

PHP contiene soporte para listas de parámetros de longitud variable en funciones definidas por el usuario. PHP contiene las siguientes funciones para dar soporte a estas características.

func_num_args() Devuelve la cantidad de parámetros pasados en la función

// func_num_args() 
function numParam(){ 
	
	// Número de argumentos de la función 
    $numArgs = func_num_args();
    echo "Número de parámetros pasados: $numArgs  <br />"; // Devuelve 4 
	
}

// Llamada a función con 4 parámetros 
numParam(4, 14, 24, 34); 

func_num_args()

Número de parámetros de la función numParam: 4

Subir

func_get_arg(num) Devuelve un elemento de los parámetros de la función.

// func_get_arg(num) 
function recogeParam() { 
	
	// Número de argumentos de la función 
	$numArgs = func_num_args();
	
	echo "Número de parámetros de la función numParam: $numArgs <br />";
		
		if($numArgs >= 3){
			
		// Genera una advertencia si indicamos un número
		// de parámetros mayor que el número de 
		// parámetros pasados actualmente 
	echo "El tercer parámetro es el número: " . func_get_arg(2) . "<br /> ";
		 
     	}
	
}

// Llamada a función con 4 parámetros  
recogeParam(4, 14, 24, 34); 

func_get_arg(num)

Número de parámetros de la función numParam: 4
El tercer parámetro es el número: 24

La función func_get_arg() la podemos usar junto con la función func_get_args() y func_num_args(), esto permitirá a las funciones de usuario aceptar listas de parámetros de longitud variable.

Subir

func_get_args() Devuelve matriz con los parámetros de la función.

// func_get_args() 
echo "func_get_args()  <br /> <br />";

function recogeParam2(){ 
	
  // Número de argumentos de la función 
  $numArgs = func_num_args();
  echo "Número de parámetros de la función numParam: $numArgs <br />";
		
    if($numArgs >= 3){
			
    // Genera una advertencia si indicamos un número
    // de parámetros mayor que el número de 
    // parámetros pasados actualmente 
    echo "El cuarto parámetro es el número:" . func_get_arg(3) . "<br />";
		 
    }
		
	// Devolvemos la matriz de los parámetros de la función 
	$listParam = func_get_args();
	
	// 'array_sum()' devuelve la suma de todos los valores de una matriz 
	echo "Sumamos los parámetros:" . array_sum ($listParam) . " <br />";
	
	for ($x = 0; $x < $numArgs; $x++) {
		
		echo "El argumento $x es:" . $listParam[$x] . "<br />";
	
	}
	
}


// Llamada a función con 4 parámetros  
recogeParam(4, 14, 24, 34); 

func_get_args()

Número de parámetros de la función numParam: 4
El cuarto parámetro es el número: 34

Sumamos los parámetros: 76

Array de los parámetros de la función:
Parámetro 0 es el: 4
Parámetro 1 es el: 14
Parámetro 2 es el: 24
Parámetro 3 es el: 34

Subir

Retorno de valores (funciones)

Cuando queremos retornar un valor usaremos la sentencia return. Esta sentencia únicamente puede devolver un valor, pero puede ser un valor simple o incluidos arrays y objetos. Esto causa que la función finalice su ejecución inmediatamente y pase el control de nuevo a la línea desde la que fue llamada. La variable de retorno también puede ser una referencia a una variable mediante el operador ampersand (&).

Array como valor de retorno

// Retornar valores de una función como un Array 
function retornaArray(){
	
	$arr = array(10, 'veinte', 30);
    return $arr; // Retornar el valor del array 

}
	
	// Declarar variable para almacenar valores de tipo Array 
	$verArray = array();
	
	// Pasar los valores retornados de la función a la variable 
	$verArray = retornaArray();
		
		// Recorrer los valores 
		foreach ($verArray as $cla => $val) {
			
			echo $val;
			
		} 

Array como valor de retorno

Índice 0 /> 10
Índice 1 /> veinte
Índice 2 /> 30

Retorno de valores

// Retornar una lista de valores 
function iva($base, $porcen = 21){
   
   return $base * $porcen / 100;
   
}
	
	// Varias llamadas a una función
	
	// Calcula la base por el 2o parámetro de la función '$porcen = 21' 
	echo iva(100) . "<br />"; // Devuelve 21 
	// Calcula la base por '8' cambiando así el valor del 2o parámetro de la función 
	echo iva(100, 8) . "<br />"; // Devuelve 8  
	// Calcula la base por '0' cambiando así el valor del 2o parámetro de la función 
	echo iva(100, 0) . "<br />"; // Devuelve 0  

Retorno de valores

21% de 100 :> 21
8% de 100 :> 8
0% de 100 :> 0

Devolver una referencia desde una función
Podemos devolver una referencia a una variable, y no una copia, así hacer que la función pueda modificar la variable. Utilizaremos el símbolo ampersand como indicador de referencia, que irá colocado en la definición de la función "delante del nombre de la fución" y en la asignación en la llamada a la función.

// Devolver una referencia desde una función  
class objeto {
    
	public $unvalor = 100;

    public function &obtenerValor() {
        return $this -> val ;
    }
}

$obj = new objeto;
$elvalor = &$obj -> obtenerValor(); // '$elvalor' es una referencia a '$obj -> val', que es 100. 
$obj -> val = 20;
echo $elvalor; // Devuelve el nuevo valor de '$obj -> val', esto es, 20.  

Nuevo valor de la variable: 20

Subir

Funciones variables

Estas funciones variables nos permitirán implementar tablas de llamadas a funciones y llamadas de retorno "funciones callback".
El modo de funcionamiento que tiene PHP con estas funciones, es cuando se encuentra con una variable seguida de paréntesis "()", buscará si existe una función con el mismo nombre de la variable, ejecutándola si la encuentra.

// Funciones variables 

// Función variable  
function funcion(){
	
  echo "1er Texto desde una función. <br />";
}

// Función variable 
function func_2(){
	
  echo "2o Texto desde otra función. <br />";

}

// Función de variables concatenadas 
function funcion_4(){
	
  echo "3er Texto desde una función creada a partir de dos textos concatenados. <br />";

}

// Llamadas a funciones variables 

$mifuncion = "funcion"; // Asignar cadena a variable 
$mifuncion(); // Llama a la funcion por el nombre de la cadena asignada 

$mifuncion =  "func_2"; // Asignar cadena a variable 
$mifuncion(); // Llamada a la funcion por el nombre de la cadena asignada 

// Concatenar valores de dos variables para formar una nueva 'función variable' 
$anexo ="_4";
$mifuncion = "funcion" . $anexo; // Devuelve 'funcion_4'  
$mifuncion(); // Llamada a la funcion 'funcion_4()' mediante la concatenación de dos textos  


1er Texto desde una función.
2o Texto desde otra función.
3er Texto desde una función creada a partir de dos textos concatenados.

Los métodos de objetos también puede ser llamados con la sintaxis de funciones variables.

// Método variable 
class Object {
	
	// Función llamada desde fuera de la clase 
    function Variable(){
		
        $nom = 'Otro'; // Asignamos 'Otro' a variable '$nom' 
        $this -> $nom(); // Llamada a la función 'Otro()' dentro de esta misma clase 
    
	}
    
	// Función llamada desde dentro de la misma clase 
    function Otro(){
		
		// Mensaje que mostrará por pantalla 
        echo "Estamos en la función 'Otro()' que ha sido llamada desde otra función,
													dentro de la misma clase.";
    
	}

}

$miObjeto = new Object();
$nomFun = "Variable"; // Asignamos 'Variable' a variable '$nomFun' 
$miObjeto -> $nomFun(); // Llamada a la función 'Variable()' dentro de clase 'Object'  

Los métodos de objetos

Estamos en la función 'Otro()' que ha sido llamada desde otra función, dentro de la misma clase.

NOTA: Con estas construcciones del lenguaje no podremos utilizar las funciones variables:
echo(), print(), unset(), isset(), empty(), include(), require(), etc...
Estas construcciones de lenguaje no las debemos confundir con funciones.

Muy importante es que las variables deben de tener un valor asignado, ya que de lo contrario obtendremos un mensaje de error (función indefinida).

Subir

Recursividad entre funciones

La recursividad en una función, es la capacidad de estas para llamarse a sí mismas, facilitandonos y mucho la codificación sobretodo en cálculos y problemas matemáticos. Una función recursiva se llama así misma hasta que se cumpla una condición, por ejemplo vamos a calcular el factorial de un número.

Cálculo del factorial de un número entero

// Recursividad de las funciones
// Cálcular el factorial de 4 
$entero = 4;

// Llamada a función con parámetro 
echo "<br />Factorial de " . $entero . " es " . ( factorial( $entero ) ); 
 
function factorial($factorial) {
	
	// Llamada recursiva a factorial()
	// $var, variable local de cada función factorial 
	if ($factorial == 0) 
	
	// Retorna '1', que lo multiplicará por el 
	// número resultante y finalizará la función. 
	return 1;
	echo "Multiplicar por " . $factorial . "<br />";
	
	// Función se vuelve a llamar a si misma
	// Restar '-1' para ir bajando hasta el número '1' final 
	return $factorial * factorial ( $factorial -1 );
	
} 
Multiplicar por 4
Multiplicar por 3
Multiplicar por 2
Multiplicar por 1

Factorial de 4 es 24

Recursividad de una función

// Recursividad de las funciones 
function otroRecursivo( $vez ){
	
	// Si parámetro es igual a '4' ... 
	if ($vez == 4):
		
        echo "Vez última:  4 vuelta <br />";
    
	// Mientras parámetro no sea igual a '4' ... 
	else: 
       
	    echo "Vez número : " . $vez . "<br />";
        
		// Y se vuelve a llamar a sí misma 
		otroRecursivo($vez + 1);
    
	endif; 
	
}

		// Llamada a la función con recursividad
		// Pasar parámetro '1' que indica que el inicio 
		// de la cuenta empieza desde '1'. 
		otroRecursivo ( 1 ); 

Recursividad de una función

Vez número : 1a
Vez número : 2a
Vez número : 3a
Vez última: 4a vuelta

Subir

Ámbito de las variables

Es el contexto en el que se puede acceder a una variable: global y local.
LOCAL: Es de manera predeterminada cuando una variable se define dentro de una función. Es decir, no es accesible desde fuera de la función.

GLOBAL: Es la que se define fuera de las funciones y podemos utilizarlas dentro de las funciones. PHP nos obliga a definir explícitamente dentro de la función, a las variables globales para poder usarlas dentro de la función matriz $CLOBALS.

$CLOBALS: Si queremos evitar la definición global podemos utilizar la matriz asociativa que poseen todas las variables globales $CLOBALS es una superglobal.

SUPERGLOBAL: Es un cojunto de variables que son globoles de forma automática, no hace falta definirlas como global dentro de una función.

Definición global de una variable

// Definimos una variable global 
$varGlobal = 20; // variable global 

// Formas para acceder a variables globales 
function PruebaSinGlobal(){ 
   $varGlobal++; // variable local (ESTA LÍNEA PUEDE MOSTRAR UN ERROR) 
	echo "Prueba sin global. $varGlobal  :" . $varGlobal . "
				al no haber definición global y no usar $GLOBALS,
		  			 			se trata como una variable local.";
				
   // Al no haber definición global y no usar
     // $GLOBALS, $varGlobal se trata como una variable local
     // por esa razón imprime 1 en lugar de 21. 
} 
	
	// Llamar función 
	PruebaSinGlobal();

Variable sin definición global.

Prueba sin global. $varGlobal :1 al no haber definición global y no usar $GLOBALS, se trata como una variable local.

// Variable definida como 'global' dentro de función 
$varGlobal = 20; // variable global

// Formas para acceder a variables globales 
function PruebaConGlobal(){ 
    global 20; // Definición global 
	$varGlobal++;
	echo "Prueba con global. $varGlobal  :" . $varGlobal . " 
				ya no es local, se trata como global.";
						
	// 20 ya no es local, se trata como global 
	// imprime 21  

} 
	
	// Llamar función 
	PruebaConGlobal(); 

Variable definida como 'global'.

Prueba con global. $varGlobal :21 ya no es local, se trata como global.

// Variable definida como '$GLOBALS' dentro de función 
$varGlobal = 20; // variable global

// Formas para acceder a variables globales 
function PruebaConGlobals(){ 
    $GLOBALS[" varGlobal "]++; // Definición global 
	echo "Prueba con $GLOBALS. $varGlobal  :" . $GLOBALS["varGlobal"] . " 
				ya no es local, se trata comno global.";
				
   // $varGlobal ya no es local, se trata comno global  
	// imprime 22 
} 
	
	// Llamar función 
	PruebaConGlobals(); 

Variable definida como '$GLOBALS'.

Prueba con $GLOBALS. $varGlobal :22 ya no es local, se trata como global.

Subir

Funciones fecha y hora

Mediante la función time() controlaremos el paso del tiempo como puede ser: activar un proceso en un momento determinado, imprimir la fecha y la hora, averiguar diferencias entre dos valores de fecha y hora, etc ... Este valor de fecha y hora es un valor numérico que indica el tiempo en segundos transcurridos desde el (1 / 1 / 1970).
Algunos sistemas pueden obtener este valor en microsegundos mediante la función microtime().

Estas funciones se pueden clasificar en tipos:
Devuelven el valor de fecha u hora.
Editan el valor de fecha y hora en base al formato preterminado.
Validan las fechas.

Tabla de funciones de fecha y hora

Tabla de funciones de fecha y hora
FUNCIÓN DESCRIPCIÓN
checkdate() Validar una fecha gregoriana. Comprueba la validez de una fecha formada por los argumentos.
date_add() Alias de DateTime::add. Añade una cantidad de días, meses, años, horas, minutos y segundos al objeto DateTime.
date_create_from_format Alias de DateTime::createFromFormat. Devuelve un nuevo objeto DateTime formateado según el formato especificado.
date_create_immutable_from_format Alias de DateTimeImmutable::createFromFormat. Devuelve nuevo objeto DateTimeImmutable con formato según el formato especificado.
date_create_immutable Alias de DateTimeImmutable::__construct. Devuelve nuevo objeto DateTimeImmutable.
date_create() Alias de DateTime::__construct. Devuelve un nuevo objeto DateTime.
date_date_set() Alias de DateTime::setDate. Establece la fecha.
date_default_timezone_get() Obtiene la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script.
date_default_timezone_set() Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script.
date_diff() Alias de DateTime::diff. Devuelve la diferencia entre dos objetos DateTime.
date_format() Alias de DateTime::format(). Devuelve la fecha formateada según el formato dado.
date_get_last_errors() Alias de DateTime::getLastErrors(). Devuelve las advertencias y los errores.
date_interval_create_from_date_string() Alias de DateInterval::createFromDateString(). Establece un objeto DateInterval desde las partes relativas de una cadena.
date_interval_format() Alias de DateInterval::format(). Devuelve el intervalo formateado.
date_isodate_set() Alias de DateTime::setISODate(). Establece una fecha según el estándar ISO 8601 - usando índices de semanas y días en vez de fechas específicas.
date_modify() Alias de DateTime::modify(). Altera la marca de tiempo de un objeto DateTime incrementando o disminuyendo en un formato aceptado por strtotime().
date_offset_get() Alias de DateTime::getOffset(). Devuelve el desplazamiento de la zona horaria.
date_parse_from_format() Obtiene información de una fecha dada formateada de acuerdo al formato especificado.
date_parse() Devuelve una matriz asociativa con información detallada acerca de una fecha dada<.
date_sub() Alias de DateTime::sub(). Sustrae una cantidad de días, meses, años, horas, minutos y segundos de un objeto DateTime.
date_sun_info() Devuelve una matriz con información sobre la puesta/salida del sol y el comienzo/final del crepúsculo.
date_sunrise() Devuelve la hora de la salida del sol de un día y ubicación dados.
date_sunset() Devuelve la hora de la puesta de sol de un día y ubicación dados.
date_time_set() Alias de DateTime::setTime(). Establece la hora.
date_timestamp_get() Alias de DateTime::getTimestamp(). Devuelve la marca de tiempo Unix que representa la fecha.
date_timestamp_set() Alias de DateTime::setTimestamp(). Establece la fecha y la hora basadas en una fecha Unix.
date_timezone_get() Alias de DateTime::getTimezone(). Devuelve zona horaria en relación con fecha y hora determinada.
date_timezone_set() Alias de DateTime::setTimezone(). Establece la zona horaria para el objeto DateTime.
date( format ) Dar formato a la fecha/hora local. Lista de caracteres de 'format'
getdate() Obtener información de la fecha/hora. Devuelve un array asociativo que contiene la información de la fecha si se indica el primer parámetro, o el momento local actual si no se indica el primer parámetro.
gettimeofday() Obtener la hora actual. Devuelve una matriz asociativa que contiene la información devuelta por la llamada al sistema.
gmdate() Formatea una fecha/hora GMT/UTC. Idéntica a la función date() excepto que la fecha/hora devuelta es en Greenwich Mean Time (GMT).
gmmktime() Obtener la marca de tiempo Unix para una fecha GMT.
gmstrftime() Formatear una fecha/hora GMT/UTC según la configuración regional.
idate( format ) Formatea una fecha/hora local como un entero. A diferencia de date(), idate() acepta un sólo carácter en el parámetro format.
localtime() Obtiene fecha y hora local.
microtime() Devuelve la fecha Unix actual con microsegundos. Esta función sólo está disponible en sisitemas operativos que soportan la llamada al sistema de gettimeofday().
mktime() Obtener la marca de tiempo Unix de una fecha.
strftime() Formatea una fecha/hora local según la configuración regional. Los nombres del mes y del día de la semana y otras cadenas dependientes del lenguaje están subordinados a la configuración regional local establecida con setlocale().
strptime() Analiza una fecha/hora generada con strftime().
strtotime() Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix.
time()
Devuelve el momento actual medido como el número de segundos desde la Época Unix (1 de Enero de 1970 00:00:00 GMT).
timezone_abbreviations_list() Alias de DateTimeZone::listAbbreviations(). Devuelve una matriz asociativa que contiene el horario de verano (dst), el índice y el nombre de la zona horaria.
timezone_identifiers_list() Alias de DateTimeZone::listIdentifiers(). Devuelve una matriz numérica con todos los identificadores de las zonas horarias.
timezone_location_get() Alias de DateTimeZone::getLocation(). Devuelve la información de la ubicación para una zona horaria.
timezone_name_from_abbr() Devuelve el nombre de la zona horaria desde su abreviatura.
timezone_name_get() Alias de DateTimeZone::getName(). Devuelve el nombre de la zona horaria.
timezone_offset_get() Alias de DateTimeZone::getOffset(). Devuelve el índice de la zona horaria de GMT
timezone_open() Alias de DateTimeZone::__construct(). Crea un nuevo objeto DateTimeZone.
timezone_transitions_get() Alias de DateTimeZone::getTransitions(). Devuelve todas las transiciones para una zona horaria.
timezone_version_get() Obtiene la versión de la base de datos timezonedb.
Subir

Caracteres para el parámetro 'format' de la función date(format)

Caracteres para el parámetro 'format' de la función date(format)
CARÁCTER DESCRIPCIÓN VALORES DEVUELTOS
Día --- ---
d Día del mes, 2 dígitos con ceros iniciales 01 a 31
D Una representación textual de un día, tres letras Mon hasta Sun
j Día del mes sin ceros iniciales 1 a 31
l ('L' minúscula) Una representación textual completa del día de la semana Sunday hasta Saturday
N Representación numérica ISO-8601 del día de la semana (añadido en PHP 5.1.0) 1 (para lunes) hasta 7 (para domingo)
S Sufijo ordinal inglés para el día del mes, 2 caracteres st, nd, rd o th. Funciona bien con j
w Representación numérica del día de la semana (0 para el domingo y 7 para el sábado). 0 (para domingo) hasta 6 (para sábado)
z El día del año (comenzando por 0 y hasta 365) 0 hasta 365
Semana --- ---
W Número de la semana del año ISO-8601, las semanas comienzan en lunes (añadido en PHP 4.1.0) Ejemplo: 42 (la 42ª semana del año)
Mes --- ---
F Una representación textual completa de un mes, como January o March January hasta December
m Representación numérica de una mes, con ceros iniciales (de 01 a 12) 01 hasta 12
M Una representación textual corta de un mes, tres letras Jan hasta Dec
n Representación numérica de un mes, sin ceros iniciales 1 hasta 12
t Número de días totales del mes dado (entre 28 y 31) 28 hasta 31
Año --- ---
L 1 si es un año bisiesto, 0 si no lo es 1 si es bisiesto, 0 si no.
o Número de año ISO-8601. Esto tiene el mismo valor que Y, excepto que si el número de la semana ISO (W) pertenece al año anterior o siguiente, se usa ese año en su lugar. (añadido en PHP 5.1.0) Ejemplos: 1999 o 2003
Y Una representación numérica completa de un año, 4 dígitos Ejemplos: 1999 o 2003
y Una representación de dos dígitos de un año Ejemplos: 99 o 03
Hora --- ---
a Ante meridiem y Post meridiem en minúsculas am o pm
A Ante meridiem y Post meridiem en mayúsculas AM o PM
B Hora Internet 000 hasta 999
g Formato de 12 horas de una hora sin ceros iniciales 1 hasta 12
G Formato de 0 a 23 horas de una hora sin ceros iniciales 0 hasta 23
h Formato de 12 horas de una hora con ceros iniciales 01 hasta 12
H Formato de 24 horas de una hora con ceros iniciales 00 hasta 23
i Minutos en formato 00 a 59, con ceros iniciales 00 hasta 59
s Segundos en formato 00 a 59, con ceros iniciales 00 hasta 59
u Microsegundos (añadido en PHP 5.2.2). Observe que date() siempre generará 000000 ya que toma un parámetro de tipo integer, mientras que DateTime::format() admite microsegundos. Ejemplo: 654321
Zona Horaria --- ---
e Identificador de zona horaria (añadido en PHP 5.1.0) Ejemplos: UTC, GMT, Atlantic/Azores
I (i mayúscula) 1 si la fecha está en horario de verano, 0 si no lo está 1 si está en horario de verano, 0 si no.
O Diferencia de la hora de Greenwich (GMT) en horas Ejemplo: +0200
P Diferencia con la hora de Greenwich (GMT) con dos puntos entre horas y minutos (hh:mm) (añadido en PHP 5.1.3) Ejemplo: +02:00
T Abreviatura de la zona horaria Ejemplos: EST, MDT ...
Z Desplazamiento de la zona horaria en segundos. El índice para zonas horarias al oeste de UTC siempre es negativo, y para aquellas al este de UTC es siempre positivo. -43200 hasta 50400
Fecha/Hora Completa --- ---
c Fecha ISO 8601 (añadido en PHP 5) 2009-02-12T15:19:21+00:00
r Fecha con formato » RFC 2822 Ejemplo: Thu, 21 Dec 2000 16:01:07 +0200
U Segundos desde la Época Unix (1 de Enero del 1970 00:00:00 GMT) Ver también time()
Subir

getdate(): Devuelve una matriz asociativa con la información desglosada y completa de la fecha y la hora.

// Información completa de fecha y hora 
$inforFechaHora = getdate(); 

	var_dump($inforFechaHora);

Segundos /> 57

Minutos /> 52

Horas /> 8

Día /> 28

Número del día de la semana /> 4 = Jueves

Número del mes /> 3

Año /> 2024

Número del día del año /> 87

Nombre del día de la semana /> Jueves

Nombre del mes /> Marzo

Segundos desde el 1/1/1970 /> 1711615977

Subir

Volver