## Nouvelles fonctions

PHP 5.3 apporte de nouvelles fonctions :

Coeur de PHP :

- array_replace() : remplace les éléments de plusieurs tableaux en un seul.
- array_replace_recursive() : remplace récursivement les éléments de plusieurs tableaux en un seul.
- class_alias() : crée un alias pour une classe utilisateur.
- forward_static_call() : appelle la fonction utilisateur passée en premier paramètre.
- forward_static_call_array() : appelle la fonction utilisateur passée en premier paramètre avec les arguments passés en tableau.
- gc_collect_cycles() : force la collecte de la mémoire.
- gc_disable() : désactive la collecte circulaire de la mémoire.
- gc_enable() : active la collecte circulaire de la mémoire.
- gc_enabled() : retourne le statut de la collecte circulaire de la mémoire.
- get_called_class() : lit le nom de la classe à qui appartient la méthode statique appelée.
- gethostname() : lit le nom d'hôte courant de la machine locale.
- header_remove() : supprime un entête HTTP précédemment ajouté avec la fonction header().
- lcfirst() : met le premier caractère de la chaîne en minuscule.
- parse_ini_string() : analyse une chaîne de configuration.
- quoted_printable_encode() : convertit une chaîne 8 bits en une chaîne quoted-printable. string.
- str_getcsv() : analyse une chaîne CSV et retourne un tableau.
- stream_context_set_default() : configure le contexte de flux par défaut.
- stream_supports_lock() : indique si le flux supporte les verrous.
- stream_context_get_params() : lit les paramètres du contexte.
- streamWrapper::stream_cast() : lit la ressource sous-jacente.
- streamWrapper::stream_set_option() : modifie les options du flux.

Date/Heure:

- date_add() : ajoute des jours, mois, années, heures, minutes et secondes à un objet DateTime.
- date_create_from_format() : retourne un nouvel objet DateTime formatté selon les spécifications.
- date_diff() : retourne la différence entre deux objets DateTime.
- date_get_last_errors() : retourne les alertes et erreurs de la dernière opération sur les dates et heures.
- date_parse_from_format() : lit des informations sur la date donnée.
- date_sub() : soustrait des jours, mois, années, heures, minutes et secondes à un objet DateTime.
- timezone_version_get() : lit la version de la base de données de fuseaux horaires.

GMP:

- gmp_testbit() : vérifie si un bit est activé.

Hash:

- hash_copy() : copie le contexte de hashage.

IMAP:

- imap_gc() : vide le cache IMAP.
- imap_utf8_to_mutf7() : encode une chaîne UTF-8 en UTF-7 modifié.
- imap_mutf7_to_utf8() : décode une chaîne UTF-7 modifié en UTF-8.

JSON:

- json_last_error() : retourne la dernière erreur JSON qui est survenue.

MySQL Improved:

- mysqli_fetch_all() : lit tous les résultats dans un tableau associatif, numérique ou combiné.
- mysqli_get_connection_stats() : retourne des statistiques sur la connexion cliente.
- mysqli_poll() : vérifie le statut des connexions.
- mysqli_reap_async_query() : lit les résultats d'une requête asynchrone.

OpenSSL:

- openssl_random_pseudo_bytes() : retourne une chaîne de taille spécifiée, remplie de pseudo-données aléatoires.

PCNTL:

- pcntl_signal_dispatch() : demande à un gestionnaire de signaux les signaux en attente.
- pcntl_sigprocmask() : spécifie et lit les signaux bloqués.
- pcntl_sigtimedwait() : attend des signaux, avec un délai d'expiration.
- pcntl_sigwaitinfo() : attend des signaux.

PCRE:

- preg_filter() : effectue un remplacement par expression rationnelle et retourne uniquement les résultats correspondant au masque de recherche.

Semaphore:

- msg_queue_exists() : vérifie si une queue de messages existe.
- shm_has_var() : vérifie si une variable spécifique existe.

Les fonctions suivantes sont implémentées nativement, elles sont donc disponibles quel que soit le système d'exploitation considéré:

- acosh()
- asinh()
- atanh()
- expm1()
- log1p()