martes, 8 de mayo de 2012

6. SESION: Funciones Predefinidas en PHP

·         Funciones de Cadena

Estas funciones, y las que veremos en los siguientes apartados, no alteran los argumentos que les pasamos, por lo que para obtener el resultado debemos guardarlas siempre en otra variable.
$resultado=nombreFuncion($argumentos);
strlen($texto);
Da como resultado el número de caracteres que tiene la cadena pasada en el argumento $texto.
chr(num);
En esta función pasamos como parámetro un número entre 0 y 255, y el resultado es caracter asignado a ese número en el código ASCII. ASCII es un código muy usado en programación, que asocia cada letra, signo o caracter con un número. Consta de 256 signos diferentes, si bien los 31 primeros no se corresponden con un carácter, sino con otras funciones tales como controles, escape, tabuladores, etc.
La lista completa del código ASCII puedes verla en caracteres ASCII para HTML
ord("caracter");
Es la función contraria a la anterior. pasamos como parámetro un caracter o signo, y la función nos devolverá el número en ASCII de ese carácter. Si pasamos como argumento más de un caracter o una cadena de texto, la función nos devolverá únicamente el código ASCII del primer carácter.
count_chars($texto,modo);
Esta función indica cuales son los caracteres en código ASCII que aparecen en el texto y/o cuantas veces aparece cada uno de ellos. En $texto pasamos como argumento la cadena a analizar, y en modo escribiremos un número del 0 al 4. Según el modo la función devolverá un array o una cadena. El comportamiento de los distintos modos es el siguiente.

    Modo 0: Devuelve un array asociativo con todos los caracteres del código ASCII. En la clave aparece el número del caracter en ASCII, y en el valor indica el número de veces que se repite ese caracter.
    Modo 1: Devuelve un array asociativo con únicamente los caracteres que aparecen en el texto. La clave nos da el número del carácter en ASCII, y el valor es el número de veces que se repite ese carácter.
    Modo 2: Devuelve un array asociativo con los caracteres del código ASCII que no aparecen en el texto. La clave es el número de carácter, y el valor es siempre igual a 0, ya que éste es el número de veces que aparecen.
    Modo 3: Devuelve una cadena de texto en la que aparecen los caracteres que contiene el texto. Estos aparecen una sola vez (aunque estén repetidos), y ordenados según el código ASCII.
    Modo 4: Devuelve una cadena de texto en la que aparecen los caracteres del código ASCII que no aparecen en el texto, ordenados según este código.

str_word_count($texto,modo);
Esta función diferencia las palabras del texto y permite hacer varias operaciones según el modo. En el argumento $texto, pasamos el texto a analizar, y en modo pondremos los números, 0, 1 ó 2. Dependiendo del modo la función dará los siguientes resultados:

    Modo 0: Devuelve el número de palabras que contiene el $texto.
    Modo 1: Devuelve un array indexado con todas las palabras que contiene el $texto.
    Modo 2: Devuelve un array asociativo donde la clave indica en qué número de caracter de la cadena comienza la palabra (empieza a contar desde 0), y el valor es la palabra en sí.

substr_count($texto,$subcadena);
Devuelve un número que indica las veces que una determinada $subcadena (carácter, palabra, etc.) aparece dentro de una cadena de texto $texto.
strpos($texto,"caracter");
Devuelve un número que indica la primera posición del "caracter" pasado en el segundo argumento, dentro de la cadena $texto pasado como primer argumento.
Si el carácter indicado en el segundo argumento no está en la cadena devolverá el valor boleano FALSE, representado por una cadena vacía.
Si en lugar de un carácter en el segundo argumento pasamos una cadena, comprobará si esta cadena (subcadena) está incluida en la cadena principal,y nos devolverá el número donde comienza la subcadena.
strrpos($texto,"caracter");
Funciona de forma análoga a la anterior, sólo que el número que devuelve es el de la última posición del "caracter" dentro de la cadena $texto.
stripos($texto,"caracter");
Funciona igual que la función strpos() pero sin tener en cuenta la diferencia entre mayúsculas y minúsculas.
strripos($texto,"caracter");
Funciona igual que la función strrpos() pero sin tener en cuenta la diferencia entre mayúsculas y minúsculas.

·         Funciones de Fecha y Hora

checkdate


(PHP 3, PHP 4, PHP 5)
checkdate -- Vaidar una fecha Gregoriana
Descripción
bool checkdate ( int mes, int dia, int anyo )

Devuelve TRUE si la fecha dada es válida; de lo contrario devuelve FALSE. Verifica la validez de la fecha formada por sus argumentos. Una fecha es considerada válida si:

    año está entre 1 y 32767 inclusive

    mes estás entre 1 y 12 inclusive

    dia está entre el número permitido de días para el mes dado. Los años bisiestos son tomados en cuenta.

Ejemplo 1. Ejemplo de checkdate()
<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

El resultado del ejemplo seria:

bool(true)
bool(false)

date_default_timezone_get


(PHP 5 >= 5.1.0RC1)
date_default_timezone_get --  Gets the default timezone used by all date/time functions in a script
Descripción
string date_default_timezone_get ( void )

This functions returns the default timezone, using the following "guess" order:

    The timezone set using the date_default_timezone_set() function (if any)

    The TZ environment variable (if non empty)

    The date.timezone ini option (if set)

    "magical" guess (if the operating system supports it)

    If none of the above options succeeds, return UTC

Valores retornados

Returns a string.

date_default_timezone_set


(PHP 5 >= 5.1.0RC1)
date_default_timezone_set --  Sets the default timezone used by all date/time functions in a script
Descripción
bool date_default_timezone_set ( string timezone_identifier )

date_default_timezone_set() sets the default timezone used by all date/time functions.

    Nota: Since PHP 5.1.0 (when the date/time functions were rewritten), every call to a date/time function will generate a E_NOTICE if the timezone isn't valid, and/or a E_STRICT message if using the system settings or the TZ environment variable.


date_sunrise


(PHP 5)
date_sunrise --  Obtiene la hora del amanecer de un día y lugar concretos
Descripción
mixed date_sunrise ( int marca_de_tiempo [, int formato [, float latitud [, float longitud [, float cenit [, float diferencia_gmt]]]]] )

date_sunrise() devuelve la hora del amanecer de un día (indicado en marca_de_tiempo) y lugar concretos. Los par´metros latitud, longitud y cenit tienen unos valores por defecto iguales a las opciones de configuración date.default_latitude, date.default_longitude y date.sunrise_zenith respectivamente.

El valor de latitud se interpreta por defecto respecto del Norte. Si se quiere especificar un valor respecto del Sur, se debe pasar un valor negativo. Igualmente, longitude se interpreta por defecto referido al Este (y se debe emplear un valor negativo para referenciarlo respecto del Oeste).

El parámetro diferencia_gmt se indica en horas.

Tabla 1. Constantes de formato
Constante
Descripción
Ejemplo
SUNFUNCS_RET_STRING
Devuelve la hora del amanecer como una variable de tipo string
16:46
SUNFUNCS_RET_DOUBLE
                Devuelve el resultado como una variable de tipo float
16.78243132
SUNFUNCS_RET_TIMESTAMP
Devuelve el resultado como una variable de tipo integer (es decir, una marca de tiempo)

1095034606                       


                              
                              
              

Ejemplo 1. Ejemplo de date_sunrise()
<?php

/* Calcula la hora del amanecer de Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Diferencia horaria: +1 GMT
*/

echo date("D M d Y"). ', hora del amanecer : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

El resultado del ejemplo seria algo similar a:

Mon Dec 20 2004, hora del amanecer : 08:54

date_sunset


(PHP 5)
date_sunset --  Obtiene la hora del atardecer de un día y lugar concretos
Descripción
mixed date_sunset ( int marca_de_tiempo [, int formato [, float latitud [, float longitud [, float cenit [, float diferencia_gmt]]]]] )

date_sunset() devuelve la hora del atardecer de un día (indicado en marca_de_tiempo) y lugar concretos. Los par´metros latitud, longitud y cenit tienen unos valores por defecto iguales a las opciones de configuración date.default_latitude, date.default_longitude y date.sunrise_zenith respectivamente.

El valor de latitud se interpreta por defecto respecto del Norte. Si se quiere especificar un valor respecto del Sur, se debe pasar un valor negativo. Igualmente, longitude se interpreta por defecto referido al Este (y se debe emplear un valor negativo para referenciarlo respecto del Oeste).

El parámetro diferencia_gmt se indica en horas.
Ejemplo 1. Ejemplo de date_sunset()
<?php

/* Calcula la hora del atardecer de Lisboa, Portugal
Latitud: 38.4 Norte
Longitud: 9 Oeste
Cenit ~= 90
Diferencia horaria: +1 GMT
*/

echo date("D M d Y"). ', hora del atardecer : ' .date_sunset(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);

?>

El resultado del ejemplo seria algo similar a:

Mon Dec 20 2004, hora del amanecer : 18:13

date


(PHP 3, PHP 4, PHP 5)
date -- Dar formato a una hora/fecha local
Descripción
string date ( string formato [, int marca_de_tiempo] )

Devuelve una cadena con formato de acuerdo a la cadena de formato dada usando el entero marca_de_tiempo entregado o la hora local si no se da una marca de tiempo. En otras palabras, marca_de_tiempo es opcional y su valor predeterminado es el valor de time().

    Sugerencia: Desde PHP 5.1.1 existen un par de constantes útiles de formatos estándar de fecha/hora que pueden usarse para especificar el parámetro formato.

    Sugerencia: La marca de tiempo del comienzo de la petición está disponible en $_SERVER['REQUEST_TIME'] a partir de PHP 5.1.

    Nota: El rango válido de una marca de tiempo es típicamente de Fri, 13 Dec 1901 20:45:54 GMT a Tue, 19 Jan 2038 03:14:07 GMT. (Estas son las fechas que corresponden a los valores mínimo y máximo para un entero de 32-bits con signo). Sin embargo, antes de PHP 5.1, este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).

    Nota: Para generar una marca de tiempo desde una representación tipo cadena de la fecha, es posible usar strtotime(). Adicionalmente, algunas bases de datos tienen funciones para convertir sus formatos de fecha a marcas de tiempo (como la función UNIX_TIMESTAMP de MySQL).
Tabla 1. Los siguientes caracteres son reconocidos en la cadena del parámetro formato
Caracter de formato
Descripción
Valores de ejemplo 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 a 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 a Saturday
N
Representación numérica ISO-8601 del día de la semana (agregado in PHP 5.1.0)
1 (para Lunes) a 7 (para Domingo)
S
Sufijo ordinal en inglés del dia 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) a 6 (para el Sábado)
z
El día del año (comenzando en 0)
0 a 365
Semana
---
---
W
Número de la semana del año ISO-8601, las semanas comienzan en Lunes (agregado en PHP 4.1.0)
Ejemplo: 42 (la 42va semana del año)
Mes
---
---
F
Una representación textual completa de un mes, como January o March
January a December
m
Representación numérica de un mes, con ceros iniciales
01 a 12
M
Una representación textual corta de un mes, tres letras
Jan a Dec
n
Representación numérica de un mes, sin ceros iniciales
1 a 12
t
Número de días en el mes dado
28 a 31
Año
---
---
L
Indica si es un año bisiesto
1 si es un año bisiesto, 0 de lo contrario.
o
Número de año ISO-8601. Este es el mismo valor que Y, excepto que si el número de semana ISO (W) pertenece al año previo o siguiente, ese año será usado en su lugar. (agregado 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 meridiano y Post meridiano en minúsculas
am o pm
A
Ante meridiano y Post meridiano en mayúsculas
AM o PM
B
Hora Swatch Internet
000 a 999
g
formato de 12-horas de una hora sin ceros iniciales
1 a 12
G
formato de 24-horas de una hora sin ceros iniciales
0 a 23
h
formato de 12-horas de una hora con ceros iniciales
01 a 12
H
formato de 24-horas de una hora con ceros iniciales
00 a 23
i
Minutos con ceros iniciales
00 a 59
s
Segundos, con ceros iniciales
00 a 59
Zona horaria
---
---
e
Identificador de zona horaria (agregado en PHP 5.1.0)
Ejemplos: UTC, GMT, Atlantic/Azores
I (i mayúscula)
Indica si la fecha están en hora de ahorro de luz diurna
1 si es Hora de Ahorro de Luz Diurna, 0 de lo contrario.
O
Diferencia con la hora Greenwich (GMT) en horas
Ejemplo: +0200
P
Diferencia con la hora Greenwich (GMT) con dos-puntos entre las horas y los minutos (agregada en PHP 5.1.3)
Ejemplo: +02:00
T
Configuración de zona horaria de esta máquina
Ejemplos: EST, MDT ...
Z
Desplazamiento de la zona horaria en segundos. El desplazamiento para zonas horarias al oeste de UTC es siempre negativo, y el de aquellas al este de UTC es siempre positivo.
-43200 a 43200
Fecha/Hora Completa
---
---
c
Fecha ISO 8601 (agregada en PHP 5)
2004-02-12T15:19:21+00:00
r
Fecha en formato RFC 2822
Ejemplo: Thu, 21 Dec 2000 16:01:07 +0200
U
Segundos desde el Epoch Unix (January 1 1970 00:00:00 GMT)

Los caracteres no reconocidos en la cadena de formato serán impresos como son. El formato Z siempre devuelve 0 cuando se usa gmdate ().

getdate


(PHP 3, PHP 4, PHP 5)
getdate -- Obtiene información de fecha/hora
Descripción
array getdate ( [int marca_de_tiempo] )

Devuelve un valor array asociativo que contiene información de fecha sobre la marca_de_tiempo, o la hora local actual si no se entrega una marca_de_tiempo, con los siguientes elementos en la matriz asociativa:
Tabla 1. Elementos clave de la matriz asociativa devuelta
Clave
Descripción
Ejemplo de valores devueltos
"seconds"
Representación numérica de segundos
0 a 59
"minutes"
Representación numérica de minutos
0 a 59
"hours"
Representación numérica de horas
0 a 23
"mday"
Representación numérica del día del mes
1 a 31
"wday"
Representación numérica del día de la semana
0 (para el Domingo) a 6 (para el Sábado)
"mon"
Representación numérica de un mes
1 a 12
"year"
Una representación numérica completa de un año, 4 dígitos
Ejemplos: 1999 o 2003
"yday"
Representación numérica del día del año
0 a 365
"weekday"
Una representación textual completa del día de la semana
Sunday a Saturday
"month"
Una representación textual completa de un mes, como January o March
January a December
0
Segundos desde el Epoch Unix, similar a los valores devueltos por time() y usados por date().
Depende del sistema, típicamente -2147483648 a 2147483647.

Ejemplo 1. Ejemplo de getdate()
<?php
$hoy = getdate();
print_r($hoy);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Tuesday
    [month]   => June
    [0]       => 1055901520
)

gettimeofday

(PHP 3 >= 3.0.7, PHP 4, PHP 5)
gettimeofday -- Obtiene la hora actual
Descripción
mixed gettimeofday ( [bool devolver_flotante] )

Esta es una interfaz a gettimeofday(2). Devuelve una matriz asociativa que contiene los datos devueltos por la llamada de sistema.

A partir de PHP 5.1.0, hay un parámetro opcional, devolver_flotante, que hace que gettimeofday() devuelva un flotante cuando su valor es TRUE.

Claves de la matriz:

    "sec" - segundas desde el Epoch Unix

    "usec" - microsegundos

    "minuteswest" - minutos al oeste de Greenwich

    "dsttime" - tipo de corrección de ahorro de luz diurna

Ejemplo 1. Ejemplo de gettimeofday()
<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

El resultado del ejemplo seria algo similar a:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

1073504408.23910


gmdate


(PHP 3, PHP 4, PHP 5)
gmdate -- Dar formato a una fecha/hora GMT/UTC
Descripción
string gmdate ( string formato [, int marca_de_tiempo] )

Idéntica a la función date() con la excepción de que la hora devuelta es Tiempo Medio de Greenwich (GMT, por sus siglas en inglés). Por ejemplo cuando se ejecuta en Finlandia (GMT +0200), la primera línea a continuación imprime "Jan 01 1998 00:00:00", mientras que la segunda imprime "Dec 31 1997 22:00:00".

Ejemplo 1. Ejemplo de gmdate()
<?php
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

    Nota: Antes de PHP 5.1.0, las marcas de tiempo negativas (fechas anteriores a 1970) no funcionaban en algunos sistemas (Windows, por ejemplo).

gmmktime


(PHP 3, PHP 4, PHP 5)
gmmktime -- Obtiene la marca de tiempo Unix para una fecha GMT
Descripción
int gmmktime ( [int hora [, int minuto [, int segundo [, int mes [, int dia [, int anyo [, int es_dst]]]]]]] )

Idéntica a mktime(), excepto que los parámetros pasados representan una fecha GMT.

Los parámetros siempre representan una fecha GMT así que es_dst no influencia el resultado.

Al igual que mktime(), los argumentos pueden dejarse vacíos de derecha a izquierda, en cuyo caso los argumentos omitidos serán definidos de acuerdo con el valor GMT actual.

    Nota: A partir de PHP 5.1.0, el parámetro es_dst se ha hecho obsoleto. Como resultado, las nuevas características de manejo de zona horaria deberían usarse en su lugar.

    Nota: gmmktime() usa internamente mktime() así que sólo pueden usarse horas válidas en el tiempo local derivado.

Ejemplo 1. Límite de gmmktime() en Windows
<?php
gmmktime(0, 0, 0, 1, 1, 1970); // valido en GMT y el oeste, invalido en el este
?>

gmstrftime


(PHP 3 >= 3.0.12, PHP 4, PHP 5)
gmstrftime -- Dar formato a una hora/fecha GMT/UTC de acuerdo a parámetros de la localidad
Descripción
string gmstrftime ( string formato [, int marca_de_tiempo] )

Se comporta al igual que strftime(), con la excepción de que la hora devuelta es Tiempo Medio de Greenwich (GMT por sus siglas en inglés). Por ejemplo, cuando se ejecuta en Tiempo Estándar del Este (GMT -0500), la primera línea a continuación imprime "Dec 31 1998 20:00:00", mientras que la segunda imprime "Jan 01 1999 01:00:00".

Ejemplo 1. Ejemplo de gmstrftime()
<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

idate


(PHP 5)
idate -- Formatea la fecha/hora local como un número entero
Descripción
int idate ( string formato [, int marca_de_tiempo] )

Devuelve un número formateado según el parámetro formato y que representa la marca_de_tiempo proporcionada o la hora actual del sistema si no se indica el segundo parámetro.

Al contrario que la función date(), el formato de idate() se indica solamente con un carácter.
Tabla 1. Lista de valores permitidos en el parámetro formato
Carácter de formato
Descripción
B
Hora de Internet (también conocido como "beat" de la marca de relojes Swatch)
d
Día del mes
h
Hora (en formato de 12 horas)
H
Hora (en formato de 24 horas)
i
Minutos
I
Devuelve 1 si está activado DST y 0 en otro caso
L
Devuelve 1 si es un año bisiesto y 0 en otro caso
m
Número del mes
s
Segundos
t
Número de días del mes actual
U
Segundos desde la Unix Epoch (que comienza el 1 de Enero de 1970 00:00:00 GMT). Se trata del mismo resultado que el obtenido con la función time()
w
Día de la semana (considerando el número 0 para el Domingo)
W
Número de la semana según la norma ISO-8601, que considera que todas las semanas comienzan en Lunes
y
Año (1 o 2 dígitos - ver nota inferior)
Y
Año (4 dígitos)
z
Día del año
Z
Diferencia horaria en segundos
    Nota: Como idate() devuelve siempre una variable de tipo integer y estos no pueden empezar en "0", idate() puede devolver menos dígitos que los esperados. Ver siguiente ejemplo:

<?php
$marca_de_tiempo = strtotime('1st January 2004'); //1072915200

// Muestra el ano en formato de 2 digitos
// Sin embargo, como empezaria con "0", solo
// muestra el numero "4"
echo idate('y', $timestamp);
?>


localtime


(PHP 4, PHP 5)
localtime -- Obtener la hora local
Descripción
array localtime ( [int muestra_de_tiempo [, bool es_asociativo]] )

La función localtime() devuelve un vector idético al de la estructura devuelta en C por la llamada a la misma función. El primer parámetro que se le pasa a localtime() es el timestamp, una representació de una fecha/hora concretas. Si no se proporciona, se utilizará la hora actual. El segundo argumento de localtime() es es_asociativo. Si está a 0 o no es proporcionado, el vector se devuelve como un vector normal, indizado numéricamente. Si el argumento está a 1, el vector devuelto es un vector asociativo conteniendo los diferentes elementos de la estructura devuelta por C al llamar a la función localtime. Los nombres de las diferentes claves del vector asociativo se encuentran a continuación:

    "tm_sec" - segundos

    "tm_min" - minutos

    "tm_hour" - horas

    "tm_mday" - día del mes

    "tm_mon" - mes del año, empezando en 0 que es Enero

    "tm_year" - Años que hacen desde 1900

    "tm_wday" - Día de la semana

    "tm_yday" - Día del año

    "tm_isdst" - Si el cambio de hora para el ahorro energético tiene efecto o no  

mktime


(PHP 3, PHP 4, PHP 5)
mktime -- Obtener la marca de tiempo Unix de una fecha
Descripción
int mktime ( [int hora [, int minuto [, int segundo [, int mes [, int dia [, int anyo [, int es_dst]]]]]]] )

Devuelve la marca de tiempo Unix que corresponde a los argumentos dados. Esta marca de tiempo es un entero largo que contiene el número de segundos entre el Epoch Unix (Enero 1 1970 00:00:00 GMT) y la hora especificada.

Es posible dejar sin definir argumentos en orden de derecha a izquierda; cualquier argumento omitido será definido con el valor actual de acuerdo a la fecha y hora local.
Lista de parámetros

hora

    El número de la hora.
minuto

    El número del minuto.
segundo

    El número de segundos después del minuto.
mes

    El número del mes.
dia

    El número del día.
anyo

    El número del año, puede ser un valor de dos o cuatro dígitos; los valores entre 0-69 se convierten a 2000-2069 y 70-100 a 1970-2000. En sistemas en donde time_t es un entero de 32bits con signo, como ocurre comúnmente hoy en día, el rango válido para anyo es un valor entre 1901 y 2038, aunque esta limitante no existe a partir de PHP 5.1.0.
es_dst

    Este parámetro puede definirse a 1 si la hora está dentro del tiempo de ahorro de luz diurna (DST), 0 si no lo es, o -1 (el valor predeterminado) si se desconoce si la hora está dentro del tiempo de ahorro de luz diurna o no. Si se desconoce, PHP intenta averiguarlo por sí solo. Esto puede causar resultados inesperados (pero no incorrectos). Algunas veces son inválidos si DST está habilitado en el sistema en el que está corriendo PHP o el valor de es_dst es 1. Si DST está habilitado en p.ej. 2:00, todas las horas entre las 2:00 y las 3:00 son inválidas y mktime() devuelve un valor indefinido (por lo general negativo). Algunos sistemas (p.ej. Solaris 8) habilita DST a media noche así que la hora 0:30 del día cuando DST está habilitado se evalúa como 23:30 del día anterior.

        Nota: A partir de PHP 5.1.0, este parámetro se ha hecho obsoleto. Como resultado, las nuevas características de manejo de zona horaria deberían usarse en su lugar.

strftime


(PHP 3, PHP 4, PHP 5)
strftime -- Dar formato a una hora/fecha local de acuerdo a valores de localidad
Descripción
string strftime ( string formato [, int marca_de_tiempo] )

Devuelve una cadena con formato de acuerdo a la cadena de formato dada usando la marca_de_tiempo dada o la hora local si no se entrega una marca de tiempo. Los nombres de mes y día de la semana y otras cadenas dependientes del idioma respetan la localidad actual definida con setlocale().

Los siguientes especificadores de conversión son reconocidos en la cadena de formato:

    %a - nombre abreviado del día de la semana de acuerdo a la localidad actual

    %A - nombre completo del día de la semana de acuerdo a la localidad actual

    %b - nombre abreviado del mes de acuerdo a la localidad actual

    %B - nombre completo del mes de acuerdo a la localidad actual

    %c - representación de fecha y hora preferida para la localidad actual

    %C - número de la centuria (el año es dividido en 100 y truncado a un entero, en el rango 00 a 99)

    %d - día del mes como un número decimal (rango 01 a 31)

    %D - igual que %m/%d/%y

    %e - día del mes como un número decimal, un dígito sencillo es precedido por un espacio (rango ' 1' a '31')

    %g - como %G, pero sin la centuria.

    %G - El año de 4-dígitos correspondiente al número de semana ISO (vea %V). Éste tiene el mismo formato y valor que %Y, con la excepción de que si el número de semana ISO pertenece al año siguiente o previo, ese año es usado en su lugar.

    %h - igual que %b

    %H - hora como un número decimal usando un reloj de 24 horas (rango 00 a 23)

    %I - hora como número decimal usando un reloj de 12 horas (rango 01 a 12)

    %j - día del año como un número decimal (rango 001 a 366)

    %m - mes como un número decimal (rango 01 a 12)

    %M - minuto como un número decimal

    %n - caracter de nueva línea

    %p - o bien `am' o `pm' de acuerdo al valor de hora dada, o las cadenas correspondientes para la localidad actual

    %r - hora en notación a.m. y p.m.

    %R - hora en notación de 24 horas

    %S - segundo como un número decimal

    %t - caracter de tabulación

    %T - hora actual, equivalente a %H:%M:%S

    %u - día de la semana como un número decimal [1,7], en donde 1 representa Lunes

    Aviso

    Solaris Sun parece iniciar con Domingo como 1, aunque ISO 9889:1999 (el estándar C actual) claramente especifica que debe ser Lunes.

    %U - número de la semana del año actual como un número decimal, comenzando con el primer Domingo como el primer día de la primera semana

    %V - el número de semana ISO 8601:1988 del año actual como un número decimal, rango 01 a 53, en donde la semana 1 es la primera semana que tiene por lo menos 4 días en el año actual, y en donde el Lunes es el primer día de la semana. (Use %G o %g para el componente de año que corresponde al número de semana para la marca de tiempo especificada.)

    %W - número de semana del año actual como un número decimal, comenzando con el primer Lunes como el primer día de la primera semana

    %w - día de la semana como un decimal, Domingo es 0

    %x - representación de fecha preferida para la localidad actual sin la hora

    %X - representación de hora preferida para la localidad actual sin la fecha

    %y - año como un número decimal sin la centuria (rango 00 a 99)

    %Y - año como un número decimal incluyendo la centuria

    %Z o %z - zona horaria o nombre o abreviación

    %% - un caracter `%' literal

    Nota: Puede que no todos los especificadores de conversión estén soportados por su biblioteca de C, en cuyo caso no serán soportados por la función strftime() de PHP. Adicionalmente, no todas las plataformas soportan marcas de tiempo negativas, por lo tanto su rango de fecha puede estar limitado a fechas no anteriores que el Epoch Unix. Esto quiere decir que p.ej. %e, %T, %R y %D (pueden haber más) y fechas anteriores a Ene 1, 1970 no funcionarán en Windows, algunas distribuciones de Linux, y algunos otros pocos sistemas operativos. Para sistemas Windows, una sinopsis completa de los especificadores de conversión soportados puede encontrarse en elsitio web de MSDN.

Ejemplo 1. Ejemplo de strftime() con localidad
<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" en Finland&eacute;s es %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" en Franc&eacute;s %A y");
setlocale(LC_TIME, "de_DE");
echo strftime(" en Alem&aacute;n %A.\n");
?>

· Funciones de Contenidos de Variable(empty, isset)


En php la funcion isset() nos permite determinar si una variable concreta tiene ya un valor asignado o no. Esto es especialmente util en procesos de depuracion de scripts. Durante la correccion de los mismos se puede comprobar si si hay contenido en una variable para rastear posibles errores. La funcion isset() recibe como argumento el nombre de una variable para rastear posibles errores. La funcion isset() recibe como argumento el nombre de una variable y devuelve un valor de tipo booleano, es decir true(verdadero) o false(falso).
Veamos como funciona esto:
              
<?php
echo"El resultado de isset() con \$var es: ".isset($var)."<br>"; //intentamos comprobar una variable que no existe
$var="hola mundo!"; //definimos la variable
echo"El resultado de isset() con \$var es: ".isset($var)."<br>";
?>


como se podran dar cuenta el resultado es:
              
El resultado de isset() con $var es:
El resultado de isset() con $var es: 1

en este caso los valores de tipo false no son mostrados en pantalla y los valores de tipo true aparecen como 1.
La funcion empty() tiene un efecto similar a isset(), pero con el resultado opuesto, es decir devuelve un valor booleano si la variable no ha recibido todavia ningun valor. En caso contrario devuelve un resultadi false:
              
<?php
echo"el resultado de \$var con empty() es: ".empty($var)."<br>";
$var="hola mundo";//definimos la variable
echo"el resultado de empty() con \$var es : ".empty($var)."<br>";
?>

·         Función RAND

rand — Genera un número entero aleatorio
Report a bug
reject note Descripción
int rand ( void )
int rand ( int $min , int $max )

Se si emplea sin los argumentos min y max, rand() devuelve un entero pseudo-aleatorio entre 0 y getrandmax(). Para obtener un número aleatorio, por ejemplo, entre 5 y 15 (incluidos), use rand(5,15).

    Nota: En algunas plataformas (como en Windows), getrandmax() sólo alcanza hasta 32767. En caso de necesitar un valor mayor de 32767, se deberá especificar min y max que permiten crear un valor mayor que 32767, o considere emplear mt_rand() en su lugar.

No hay comentarios:

Publicar un comentario