## Nouvelles fonctions

PHP 5 introduit de nouvelles fonctions. En voici la liste :

Tableaux :

- array_combine() : crée un tableau en combinant un tableau pour les clés et un autre pour les valeurs correspondantes.
- array_diff_uassoc() : renvoie la différence entre deux tableaux avec la possibilité de vérifier les index par l'appel d'une fonction utilisateur de callback.
- array_udiff() : renvoie la différence entre deux tableaux en utilisant une fonction de rappel pour la comparaison des valeurs.
- array_udiff_assoc() : renvoie la différence entre deux tableaux avec la possibilité de vérifier les index. Les valeurs sont, elles, comparées grâce à une fonction utilisateur de rappel.
- array_udiff_uassoc() : renvoie la différence entre deux tableaux avec la possibilité de vérifier les index. Les valeurs sont comparées grâce à une fonction utilisateur de rappel ; les index sont également comparés grâce à une (autre) fonction utilisateur de rappel.
- array_walk_recursive() : applique une fonction utilisateur de façon récursive à chaque élément d'un tableau.
- array_uintersect_assoc() : calcule l'intersection de deux tableaux avec une vérification des index. Les données sont comparées en utilisant une fonction de rappel.
- array_uintersect_uassoc() : calcule l'intersection de deux tableaux avec une vérification des index. Les données et les index sont comparés en utilisant des fonctions de rappel.
- array_uintersect() : calcule l'intersection de deux tableaux. Les données sont comparées en utilisant une fonction de rappel.

InterBase :

- ibase_affected_rows() : renvoie le nombre de lignes modifiées par la requête précédente.
- ibase_backup() : lance une tâche de sauvegarde dans le gestionnaire de services et rend la main immédiatement.
- ibase_commit_ret() : permet de valider une transaction sans avoir à la fermer.
- ibase_db_info() : renvoie des statistiques sur une base de données.
- ibase_drop_db() : supprime une base de données.
- ibase_errcode() : renvoie un code d'erreur.
- ibase_free_event_handler() : annule un gestionnaire d'événements enregistré.
- ibase_gen_id() : incrémente le générateur donné et renvoie sa nouvelle valeur.
- ibase_maintain_db() : exécute une commande de maintenance sur le serveur de base de données.
- ibase_name_result() : assigne un nom à un jeu de résultats.
- ibase_num_params() : renvoie le nombre de paramètres d'une requête préparée.
- ibase_param_info() : renvoie des informations sur un paramètre spécifique d'une requête préparée.
- ibase_restore() : lance une restauration dans le gestionnaire de services et rend la main immédiatement.
- ibase_rollback_ret() : annule la transaction et conserve son contexte.
- ibase_server_info() : renvoie des statistiques sur un serveur de bases de données.
- ibase_service_attach() : initie une connexion au gestionnaire de services.
- ibase_service_detach() : arrête une connexion au gestionnaire de services.
- ibase_set_event_handler() : permet d'enregistrer une fonction de callback appelée lorsque des événements sont postés.
- ibase_wait_event() : attend qu'un événement soit posté par la base de données.

iconv :

- iconv_mime_decode() : décode un champ d'en-tête MIME.
- iconv_mime_decode_headers() : décode plusieurs champs d'en-tête MIME en une seule fois.
- iconv_mime_encode() : crée un champ d'en-tête MIME.
- iconv_strlen() : renvoie le nombre de caractères de la chaîne.
- iconv_strpos() : trouve la position de la première occurrence d'une chaîne donnée dans une autre chaîne.
- iconv_strrpos() : trouve la position de la dernière occurrence dans une chaîne
- iconv_substr() : supprime un morceau de chaîne.

Flux :

- stream_copy_to_stream() : copie les données d'un flux vers un autre.
- stream_get_line() : récupère une ligne d'un flux donné jusqu'au délimiteur fourni.
- stream_socket_accept() : accepte une connexion sur un socket créé avecstream_socket_server().
- stream_socket_client() : ouvre une connexion socket sur un domaine Unix ou Internet.
- stream_socket_get_name() : récupère le nom des sockets locaux ou distants.
- stream_socket_recvfrom() : reçoit des données d'un socket, qu'il soit connecté ou non.
- stream_socket_sendto() : envoie un message vers un socket, qu'il soit connecté ou non.
- stream_socket_server() : créé un socket de domaine Unix ou Internet.

Date et heure :

- idate() : formate une date/heure en tant qu'entier.
- date_sunset() : renvoie l'heure du coucher du soleil pour un jour et un endroit donnés.
- date_sunrise() : renvoie l'heure du lever du soleil pour un jour et un endroit donnés.
- time_nanosleep() : marque une pause exprimée en secondes et nanosecondes.

Chaîne de caractères :

- str_split() : convertit une chaîne en tableau.
- strpbrk() : recherche dans une chaîne l'un des caractères d'une liste.
- substr_compare() : compare deux chaînes depuis un offset jusqu'à une longueur en caractères, d'une façon sécurisée contre les données binaires et, optionnellement, insensible à la casse.

Autres :

- convert_uudecode() : décode une chaîne.
- convert_uuencode() : encode une chaîne.
- curl_copy_handle() : copie un descripteur cURL avec toutes ses préférences.
- dba_key_split() : sépare une clé sous forme de chaîne en représentation sous forme de tableau.
- dbase_get_header_info() : récupère les informations d'en-tête d'une base de données dBase.
- dbx_fetch_row() : récupère une ligne à partir d'un résultat de requête ayant le marqueur `DBX_RESULT_UNBUFFERED`.
- fbsql_set_password() : change le mot de passe d'un utilisateur donné.
- file_put_contents() : écrit une chaîne dans un fichier.
- ftp_alloc() : alloue de l'espace pour un fichier à télécharger.
- get_declared_interfaces() : renvoie un tableau contenant toutes les interfaces déclarées.
- get_headers() : renvoie tous les en-têtes envoyés par le serveur en réponse à une requête HTTP.
- headers_list() : renvoie la liste des en-têtes de réponse envoyés (ou prêts à être envoyés).
- http_build_query() : renvoie une requête encodée sous forme d'URL.
- image_type_to_extension() : renvoie l'extension de fichier pour le type d'image retourné par getimagesize(), exif_read_data(), exif_thumbnail(), exif_imagetype().
- imagefilter() : applique un filtre sur une image en utilisant des arguments spécialisés.
- imap_getacl() : récupère la valeur de l'ACL pour une boîte aux lettres donnée.
- ldap_sasl_bind(): établit une liaison à un répertoire LDAP en utilisant SASL.
- mb_list_encodings() : retourne un tableau contenant tous les encodages supportés.
- pcntl_getpriority() : renvoie la priorité d'un processus.
- pcntl_wait() : attend ou renvoie le statut d'un processus enfant comme défini par l'appel système waitpid().
- pg_version() : renvoie un tableau contenant les versions du client, du protocole et du serveur PostGreSQL, si disponibles.
- php_check_syntax() : vérifie la syntaxe d'un fichier donné.
- php_strip_whitespace() : renvoie la source en supprimant les commentaires et les espaces.
- proc_nice() : change la priorité du processus courant.
- pspell_config_data_dir() : change l'emplacement des fichiers de langues.
- pspell_config_dict_dir() : change l'emplacement de la liste principale de mots.
- setrawcookie() : envoie un cookie sans encodage url de la valeur.
- scandir() - Liste les fichiers et les dossiers d'un chemin spécifique.
- snmp_read_mib() : lit et analyse un fichier MIB dans l'arbre actif MIB.
- sqlite_fetch_column_types() : renvoie un tableau contenant les types des colonnes pour une table spécifiée.

> Note:

> L'API de l'extension Tidy a changé du tout au tout.