Apéndices
PHP Manual

Registro de cambios

A las funciones de las extensiones incluidas se han realizado los siguientes cambios.

VersionFunctionDescription
PHP 5.0.0emptyLos objetos sin propiedades ya no se consideran vacíos.
5.6.0cryptSe emite una advertencia de seguridad E_NOTICE si se omite salt.
 pg_insertNo longer experimental. Added PGSQL_DML_ESCAPE constant, TRUE/FALSE and NULL data type support.
 pg_lo_seekAdded PostgreSQL 9.3's 64bit large object support. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 pg_lo_tellAdded PostgreSQL 9.3's 64bit large object support. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 pg_lo_truncateAdded truncate function. It supports PostgreSQL 9.3's 64bit large object. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.
 pg_meta_dataNo longer experimental. Added "is enum" as default attribute. extended flag is added.
 pg_selectNo longer experimental. Added PGSQL_DML_ESCAPE constant, TRUE/FALSE and NULL data type support.
 pg_updateNo longer experimental. Added PGSQL_DML_ESCAPE constant, TRUE/FALSE and NULL data type support.
5.5.3/5.4.19pg_deleteSe arregó la inyección SQL directa a table_name y la inyección SQL inderecta a los identificadores.
 pg_insertDirect SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
 pg_selectDirect SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
 pg_updateDirect SQL injection to table_name and Indirect SQL injection to identifiers are fixed.
5.5.2DOMDocument::schemaValidateSe añadió el parámetro flags
 DOMDocument::schemaValidateSourceSe añadió el parámetro flags
5.5.1hex2binSe emite una advertencia si el string de entrada es un string hexadecimal no válido.
 pg_unescape_byteaA warning is thrown if the input string is invalid.
5.5.0/PECL 3.0.0IntlDateFormatter::createSe permite un objeto IntlCalendar para calendar. Los objetos de tipo IntlTimeZone y DateTimeZone están permitidos para timezone. Los identificadores de zonas horaria válidos (incluyendo cadena vacías) ya no están permitidos para timezone. Si se proporciona NULL para timezone, el identificador de la zona horaria dado por date_default_timezone_get se usará en lugar del predeterminado de ICU.
 IntlDateFormatter::formatSe añadió el soporta para proporcionar objetos IntlCalendar al parámetro value.
 IntlDateFormatter::setCalendarAhora es posible pasar un objeto IntlCalendar.
5.5.0curl_setoptSe añadió el recurso cURL como el primer parámetro de la llamada de retorno CURLOPT_PROGRESSFUNCTION.
 curl_setoptSe introdujo CURLOPT_SHARE.
 emptyempty ahora soporta expresiones, en vez de únicamente variables.
 gd_infoSe añadió WebP Support.
 imagerotateEsta función ahora se ve afectada por el método de interpolación establecido por la función imagesetinterpolation.
 iterator_to_arrayiterator_to_array adquiere soporte para tipos de claves diferentes a integer y string cuando el parámetro use_keys está habilitado.
 json_encodeSe añadió el parámetro depth.
 mysql_connectEsta función generará un error de nivel E_DEPRECATED.
 mysql_db_nameLa función mysql_list_dbs es obsoleta, por lo que emite un error de nivel E_DEPRECATED.
 mysql_pconnectEsta función generará un error de nivel E_DEPRECATED.
 mysql_tablenameLa función mysql_tablename es obsoleta, por lo que emite un error de nivel E_DEPRECATED.
 packSe añadió el código "Z" con funcionalidad equivalente a "a" por compatibilidad con Perl.
 php_logo_guidphp_logo_guid ha sido eliminada de PHP.
 phpinfoLos GUIDs de logos fueron reemplazados con URIs de datos, por lo que desactivar ahora expose_php no tiene efecto sobre el resutaldo de phpinfo(). Los créditos ahora también han sido embebidos en la salida misma en vez mediante enlaces.
 preg_replaceEl modificador /e está obsoleto. Utilice preg_replace_callback en su lugar. Véase la documentación de PREG_REPLACE_EVAL para obtener información adicional sobre riesgos de seguridad.
 set_error_handlererror_handler ahora acepta NULL.
 set_exception_handlerAnteriormente, si se pasaba NULL, esta función devolvía TRUE. Devuelve el gestor anterior desde PHP 5.5.0.
 setcookieAhora se incluye un atribugo Max-Age en la cabecera Set-Cookie enviada al cliente.
 setrawcookieAhora se incluye un atribugo Max-Age en la cabecera Set-Cookie enviada al cliente.
 unpackCambios realizados para poner esta función en línea con Perl: El código "a" ahora guarda bytes NULL sobrantes de cola. El código "A" ahora elimina todos los espacios en blanco ASCII sobrantes de cola (espacios, tabulaciones, nuevas líneas, retorno de carro, y bytes NULL). Se añadió en código "Z" para cadenas rellenadas con NULL, y elimina los bytes NULL sobrantes de cola.
 zend_logo_guidzend_logo_guid ha sido eliminada de PHP.
 mysqli::commitSe añadieron los parámetros flags y name.
 mysqli::optionsSe añadió la opción MYSQLI_SERVER_PUBLIC_KEY.
 mysqli::rollbackSe añadieron los parámetros flags y name.
 SoapClient::SoapClientNueva opción ssl_method.
5.4.8assertThe description parameter was added. The description is also now provided to a callback function in ASSERT_CALLBACK mode as the fourth argument.
5.4.7parse_urlArreglado el reconocimiento de host cuando scheme es omitido y está presente un separador de componentes que lo encabeza.
5.4.1hex2binSe emite una advertencia si la cadena de entrada tiene una longitud impar. En PHP 5.4.0 la cadena era aceptada de forma silenciosa, pero el último byte era truncado.
5.4.0/PECL 2.0.0b1idn_to_asciiSe añadieron los parámetros variant y idna_info; y el soporte para UTS #46.
 idn_to_utf8Se añadieron los parámetros variant y idna_info; y el soporte para UTS #46.
5.4.0DOMDocument::loadHTMLSe añadió el parámero options.
 DOMDocument::loadHTMLFileSe añadió el parámero options.
 apache_child_terminateEsta función está disponible bajo FastCGI. Anteriormente, estaba soportada solo cuando había sido instalado un módulo PHP en Apache.
 apache_request_headersEsta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
 apache_response_headersEsta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
 array_combineVersiones previas emiten un E_WARNING y devuelven FALSE para arrays vacíos.
 array_multisortSe añadieron SORT_NATURAL y SORT_FLAG_CASE a arg como posibles banderas de ordenación.
 date_default_timezone_getLa zona horaria ya no se adivina de la información disponible a través del sistema operativo, la zona horaria adivinada no puede invocarse.
 date_default_timezone_getLa variable de entorno TZ ya no se usa para adivinar la zona horaria.
 debug_backtraceAñadido el parámetro opcional limit.
 debug_print_backtraceAñadido el parámetro opcional limit.
 dns_get_recordAdded raw parameter.
 emptyVerificación de índices no numéricos de strings devuelve TRUE.
 error_reportingAhora E_STRICT es parte de E_ALL.
 filter_input_arraySe añadió el parámetro add_empty.
 filter_var_arraySe añadió el parámetro add_empty.
 get_html_translation_tableEl valor por defecto para el parámetro encoding fue cambiado a UTF-8.
 get_html_translation_tableFueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 get_magic_quotes_gpcSiempre devuelve FALSE debido a que la característica de comillas mágicas ha sido eliminada de PHP.
 get_magic_quotes_runtimeSiempre devuelve FALSE debido a que la característica de comillas mágicas ha sido eliminada de PHP.
 getallheadersEsta función está disponible sobre FastCGI. Anteriormente, sólo estaba soportada cuando PHP se instalaba como módulo de Apache.
 gzcompressSe añadió el parámetro encoding.
 gzdeflateSe añadió el parámetro encoding.
 gzencodeFORCE_DEFLATE ahora genera una salida que cumple el RFC 1950.
 hashEl algoritmo tiger ahora utiliza orden big-endian de los bytes.
 hash_algosSe añade soporte para joaat, fnv132 y para fnv164. Soporte para Salsa10 y Salsa20 fué eliminado.
 html_entity_decodeLa codificación predeterminada fue cambiada de ISO-8859-1 a UTF-8.
 html_entity_decodeFueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 htmlentitiesFueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 htmlentitiesEl valor por defecto del parámetro encoding fue cambiado a UTF-8.
 htmlspecialcharsFueron agregadas las constantes ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 htmlspecialcharsEl valor predeterminado del parámetro encoding se cambió a UTF-8.
 htmlspecialchars_decodeFueron agregadas las constantes ENT_HTML401, ENT_XML1, ENT_XHTML y ENT_HTML5.
 http_build_querySe agregó el parámetro enc_type.
 imagecolorsetSe añadió el parámetro alpha.
 issetComprobación de indices no numéricos de strings ahora retorna FALSE.
 json_decodeSe añadió el parámetro options.
 json_encodeSe añadió al parámetro options las constantes JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, y JSON_UNESCAPED_UNICODE.
 mb_encode_numericentityAñadido el parámetro is_hex.
 number_formatEsta función ahora soporta múltiples bytes en dec_point y thousands_sep. Solamente el primer byte de cada separador era utilizado en versiones anteriores.
 ob_startUn tamaño de segmento de 1 ahora resulta en segmentos de 1 byte que se van a enviar al búfer de salida.
 ob_startEl tercer parámetro de ob_start se cambió de un parámetro boolean llamado erase (el cual, si se establecía a FALSE, prevenía al búfer de salida de ser eliminado hasta el final de la ejecución del script) a un parámetro integer llamado flags. Desafortunadamente, esto resulta en una rotura de compatibilidad de la API para código escrito antes de PHP 5.4.0 que use el tercer parámetro. Véase el ejemplo de banderas para saber cómo manejar esto con código que necesite ser compatible con ambas.
 openssl_decryptraw_output se cambió a options.
 openssl_encryptraw_output se cambió a options.
 preg_match_allEl parámetro matches ahora es opcional.
 scandirSe añadieron las constantes de sorting_order. En versiones anteriores, cualquir valor distinto de cero ocasionaba un ordenamiento descendente. Por lo tanto, para todas las versiones de PHP, use 0 para el orden ascendente, y 1 para el orden descendente. No existía una opción para el comportamiento de SCANDIR_SORT_NONE antes de PHP 5.4.0.
 session_set_save_handlerSe añadió SessionHandlerInterface para la implementación de gestores de sesión y SessionHandler para exponer gestores de sesión internos de PHP.
 snmp_set_valueretrievalConstants SNMP_VALUE_PLAIN or SNMP_VALUE_LIBRARY may be combined with SNMP_VALUE_OBJECT resulting different way of representing contents of value array element in return value of GET-function. If no SNMP_VALUE_{PLAIN,LIBRARY} constant is accompanying SNMP_VALUE_OBJECT, SNMP_VALUE_LIBRARY is used. Prior to 5.4.0 SNMP_VALUE_OBJECT effecively meant SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN.
 sortSe añadió el soporte para SORT_NATURAL y SORT_FLAG_CASE como sort_flags
 Phar::setStubSe añadió el parámetro len.
 PharData::setStubSe añadió el parámetro len.
 SimpleXMLElement::getDocNamespacesSe añadió el parámetro from_root.
 SoapClient::SoapClientNueva opción keep_alive.
5.4grapheme_substrSi se proporciona length y es positivo, y el argumento string es más corto que la longitud especificada, se devuelve el resto de la cadena de acuerdo al parámetro start. Anteriormente devolvía FALSE.
5.3.9is_aSe añadió el parámetro allow_string
 is_subclass_ofSe añadió el parámetro allow_string
5.3.7cryptSe añadieron los modos de Blowfish $2x$ y $2y$ para tratar con ataques de bit alto potenciales.
 is_subclass_ofSe añadió el soporte para class_name para trabajar con interfaces
5.3.6DateTime::modifyLas sentencias de fecha/hora absolutas ahora toman efecto. Previamente, sólo se usaban las partes relativas.
 DOMDocument::saveHTMLEl parámetro node fue añadido.
 array_productEl producto de un array vacío ahora es 1, mientras que antes esta función devolvía 0 para un array vacío.
 debug_backtraceSe cambió el parámetro provide_object a options y se añadió la opción adicional DEBUG_BACKTRACE_IGNORE_ARGS.
 debug_print_backtraceAñadido el parámetro opcional options.
 preg_matchDevuelve FALSE si offset es mayor que la longitud de subject.
 preg_match_allDevuelve FALSE si offset es mayor que la longitud de subject.
 PDO_MYSQL DSNAntes de la versión 5.3.6, charset era ignorado.
5.3.4get_html_translation_tableFue agregado el parámetro encoding.
 mt_randEmite un error de nivel E_WARNING y devuelve FALSE si max < min.
 rawurlencodeLos caracteres con tilde ya no son condificados al usar rawurlencode con EBCDIC en cadenas.
 sleepAntes de PHP 5.3.4, en Windows, sleep siempre devuelve NULL cuando el sueño ha sucedido, si tener en cuenta si el sueño fue interrumpido o no.
 IntlDateFormatter::formatSe añadió el soporte para proporcionar objetos de la clase DateTime al parámetro value.
 mysqli_driver::$report_modeEl cambio de modo de notificación ahora es por solicitud, en vez de por proceso.
5.3.3DOMXPath::evaluateSe añadió el parámetro registerNodeNS.
 DOMXPath::querySe añadió el parámetro registerNodeNS.
 json_encodeSe añadió al parámetro option la constante JSON_NUMERIC_CHECK.
 ldap_sasl_bindSe añadió soporte en Windows.
 openssl_decryptSe añadió el parámetro iv.
 openssl_encryptSe añadió el parámetro iv.
 parse_urlEliminado el E_WARNING que era producido cuando fallaba el análisis de la URL.
5.3.2 (PECL OCI8 1.4)oci_set_prefetchAntes de esta versión, rows debe ser >= 1.
5.3.2cryptCorregido el comportamiento de Blowfish sobre rondas no válidas para devolver el string "failure" ("*0" or "*1"), en lugar de caer al DES.
 cryptAgregado el crypt SHA-256 y SHA-512 basado en la implementación de Ulrich Drepper.
 flockSe eliminó el desbloqueo automático al cerrarse el gestor de recurso. El desbloqueo ahora siempre tiene que ser hecho manualmente.
 gmp_initLa base fue extendidad de 2 a 36, a 2 a 62 y -2 a -36.
 gmp_strvalLa base fue extendida de 2 a 36, a 2 a 62 y -2 a -36.
 imap_appendSe añadió el soporte de INTERNALDATE para imap_append.
 imap_openSe añadió params
5.3.1get_defined_constantsSólo para Windows: las constantes fundamentales se clasifican en Core, previamente mhash.
 ibase_querySi no hay rows afectados, la función ahora devuelve TRUE en caso de éxito, donde anteriormente devolvía 0 (un cero seguido por un espacio en blanco).
 renamerename ahora puede renombrar archivos a través de controladores de Windows.
5.3.0 (PECL OCI8 1.3.4)oci_set_prefetchAntes de esta versión, la precarga estaba limitada al menor valor de rows filas y 1024 * rows bytes. La restricción del tamaño de bytes ahora ha sido eliminada.
5.3.0DateTime::__constructSi time contiene un formato de fecha/hora no válido, se laznará una excepción. Anterior mente se emitía un error.
 DateTime::modifySe ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 DateTime::setDateSe ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 DateTime::setISODateSe ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 DateTime::setTimeSe ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 DateTime::setTimezoneSe ha cambiado el valor devuelto en caso de éxito de NULL a DateTime.
 DateTimeZone::getTransitionsSe añadireon los parámteros opcionales timestamp_begin y timestamp_end.
 DateTimeZone::listIdentifiersAñadidos los parámteros opcionales what y country.
 DirectoryIterator::__constructLanza una UnexpectedValueException si path no se puede abrir.
 acoshLa función esta disponible en todas las plataformas
 array_multisortSe añadió SORT_LOCALE_STRING a arg como posible bandera de ordenación.
 array_reduceCambiado parámetro initial para permitir mixed, anteriormente integer.
 array_searchAl igual que con todas las funciones internas de PHP a partir de la versión 5.3.0, array_search devuelve NULL si se le pasan parámetros inválidos.
 asinhLa función esta disponible en todas las plataformas
 atanhLa función esta disponible en todas las plataformas
 call_user_funcLa interpretación de palabras clave orientadas a objetos como parent y self ha cambiado. Anteriormente al llamarlas usando la sintaxis de dobles dos puntos emitiría una advertencia E_STRICT porque eran interpretadas como estáticas.
 call_user_func_arrayLa interpretación de palabras clave orientadas a objetos como parent y self ha cambiado. Anteriormente al llamarlas usando la sintaxis de dobles dos puntos emitiría una advertencia E_STRICT porque eran interpretadas como estáticas.
 checkdnsrrEsta función está disponible en plataformas Windows.
 clearstatcacheSe añadieron los parámetros opcionales clear_realpath_cache y filename.
 copySe añadió el soporte para el contexto.
 cryptPHP ahora contiene su propia implementación de los algoritmos MD5, DES estándar, DES extendido y Blowfish y los utilizará si el sistema carece de soporte para uno o varios de los algoritmos.
 curl_setoptSe introdujo CURLOPT_PROGRESSFUNCTION.
 date_default_timezone_setAhora se lanza un E_WARNING en vez de un E_STRICT.
 define_syslog_variablesThis function now throws an E_DEPRECATED notice.
 dldl está desactivado en algunos módulos SAPI por problemas de estabilidad. Los únicos modulos SAPI que permiten dl son: CLI, CGI and Embed. En su lugar usar las directivas Directivas de carga de extensiones
 dns_get_recordPrior to this release, if the authns parameter was given, the addtl parameter was also required.
 dns_get_recordThis function is now available on Windows platforms.
 error_reportingSe introdujo E_DEPRECATED y E_USER_DEPRECATED.
 exif_imagetypeAñadido soporte para iconos.
 expm1Esta función está ahora disponible en todas las plataformas.
 fgetcsvSe añadió el parámetro escape
 fnmatchEsta función ahora está disponible en plataformas Windows.
 func_get_argEsta función ahora se puede usar en listas de parámetros.
 func_get_argSi esta función es llamada desde el ámbito último de un archivo que ha sido incluido mediante una llamada a include o require desde dentro de una función en el archivo de llamada, ahora genera una advertencia y devuelve FALSE.
 func_get_argsSi esta función es llamada desde el ámbito último de un archivo que ha sido incluido mediante una llamada a include o require desde dentro de una función en el archivo de llamada, ahora genera una advertencia y devuelve FALSE.
 func_get_argsEsta función ahora se puede usar en listas de parámetros.
 func_num_argsSi esta función es llamada desde el ámbito último de un fichero que ha sido incluido mediante una llamada a include o require desde dentro de una función en el fichero de llamada, ahora genera una advertencia y devuelve -1.
 func_num_argsEsta función ahora se puede usar en listas de parámetros.
 gd_infoEl atributo JPG Support se renombró a JPEG Support.
 get_cfg_varget_cfg_var se fijó para ser capaz de retornar un "array" con las opciones ini.
 get_classEl valor predeterminado de object ahora es NULL, por lo que pasar el valor NULL a object tiene el mismo resultado que no pasar ningún valor.
 get_defined_constantsConstantes fundamentales se clasifican en Core, antes internal. En Windows, las constantes fundamentales se clasifican en mhash.
 get_object_varsEsta función ahora devuelve NULL si object no es un objeto. Anteriormente devolvía FALSE
 getimagesizeAñadido el soporte para iconos.
 getmxrrThis function is now available on Windows platforms.
 getoptEsta función ya no depende del sistema y funciona también en Windows.
 getoptEl parámetro longopts está disponible en todos los sistemas.
 getoptAñadido soporte para valores opcionales (especificado mediante "::").
 getoptAñadido soporte para usar "=" como separador de argumento/valor.
 hash_algosSe añade soporte para md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 y para sha224
 htmlentitiesFue agregada la constante ENT_IGNORE.
 htmlspecialcharsFue agregada la constante ENT_IGNORE.
 imagecolorclosesthwbEstá función ahora está disponible en Windows
 imagefilterSe añadió el soporete de pixelación (IMG_FILTER_PIXELATE).
 inet_ntopThis function is now available on Windows platforms.
 inet_ptonThis function is now available on Windows platforms.
 ini_getAnteriormente, se devolvía un string si la opción de configuración no existía. Ahora en su lugar se devuelve FALSE.
 ini_get_allSe añadió details.
 is_aEsta función ya no está obsoleta, y por lo tanto ya no lanza advertencias de tipo E_STRICT.
 json_decodeAñadido el parámetro opcional depth. La profundidad de recursión por defecto se incrementó de 128 a 512
 json_encodeSe añadió el parámetro options.
 linkEsta función ahora está disponible en plataformas Windows (Vista, Server 2008 o superiores).
 linkinfoEsta función ahora está disponible en plataformas Windows (Vista, Server 2008 o mayores).
 log1pEsta función está disponible en todas las plataformas.
 mb_get_infoEstá disponible la entrada "http_output_conv_mimetypes".
 mcrypt_create_ivYa no se requiere invocar primero a srand. Esto ahora se realiza de forma automática.
 mcrypt_create_ivMCRYPT_DEV_RANDOM y MCRYPT_DEV_URANDOM se volvieron disponibles en plataformas Windows.
 mktimemktime ahora lanza un aviso de tipo E_DEPRECATED si se usa el parámetro is_dst.
 mysql_db_queryÉsta función ahora lanza ahora un aviso E_DEPRECATED.
 mysql_escape_stringAhora, esta función lanza un aviso E_DEPRECATED.
 nl2brSe agregó el parámetro opcional is_xhtml.
 parse_ini_fileAñadido el parámetro opcional scanner_mode. Las comillas simples ahora pueden usarse para las asignaciones de variables. Los signos de número (#) ya no se pueden usar como comentarios y si se usan se lanzará una advertencia de tipo obsoleto.
 pg_lo_createThe optional object_id was added.
 pg_lo_importThe optional object_id was added.
 preg_quoteEl carácter - ahora es escapado
 property_existsEsta función comprueba la existencia de una propiedad independientemente de su accesibilidad.
 rawurlencodeAhora sigue el RFC 3986.
 readlinkEsta función ahora está disponible en plataformas Windows (Vista, Server 2008 o mayores).
 realpathAntes de esta versión, si en sistemas *BSD el último compnente de path no existía, realpath no fallaba. Ahora realpath también falla en este caso.
 register_tick_functionLos ticks ahora están soportados en los módulos de servidores web que usan hilos.
 roundSe introdujo el parámetro mode.
 session_startSi una sesión falla al iniciarse, se devuelve FALSE. Anteriormente se devolvía TRUE.
 setlocaleEstá función ahora lanza un aviso E_DEPRECATED si un string es pasado al parámetro category en lugar de una de las constantes LC_*.
 shm_attachEsta función ahora devuelve un recurso en vez de un integer.
 socket_create_pairEsta función ahora es rehabilitada en plataformas Windows.
 spl_autoload_registerSe añadio el parámetro prepend.
 spl_autoload_registerSe introdujo soporte para espacios de nombre.
 stream_context_createSe añadió el argumento opcional params.
 stream_socket_pairEsta función ahora está disponible en plataformas Windows.
 stristrAgregado el parámetro opcional before_needle.
 strlenLas versiones anteriores trataban los arrays como el string Array, devolviendo así una longitud de string de 5 y emitiendo un error de nivel E_NOTICE.
 strstrSe añadió el parámetro opcional before_needle.
 strtotimeAntes de PHP 5.3.0, 24:00 no era un formato válido y strtotime devolvía FALSE.
 strtotimeAntes de PHP 5.3.0, formatos de tiempo relativo que se suministran al parámetro time de la función strtotime como this week, previous week, last week, y next week se interpreta como un período de 7 días en relación con la fecha y hora actual, en lugar de un período de semana de Monday a Sunday.
 sybase_connectSe añade el parámetro new .
 symlinkEsta función ahora es compatible con las plataformas Windows (Vista, Server 2008 o mayores).
 time_nanosleepEsta función ahora está disponible en plataformas Windows.
 time_sleep_untilEsta función ahora está disponible en plataformas Windows.
 touchSe hizo posible cambiar el momento de modificación de un directorio bajo Windows.
 mysqli::__constructSe añadió la capacidad de conexiones persistentes.
 mysqli::querySe agrego la posibilidad de consultas asincronas.
 ReflectionFunction::__constructahora name puede representar una función anónima.
 SplObjectStorage::attachAñadido el parámetro data.
5.2.15mysqli_driver::$report_modeEl cambio de modo de notificación ahora es por solicitud, en vez de por proceso.
5.2.11get_defined_constantsEl parámetro categorize ahora funciona correctamente. Anteriormente, el parámetro categorize fue interpretado como !is_null($categorize), por lo que cualquier valor distinto de NULL fuerza a las constantes a ser clasificadas.
5.2.10array_randYa no se muestra mezclado el array de claves.
 array_uniqueCambiado el valor por defecto de sort_flags a SORT_STRING.
 curl_setoptSe introdujo CURLOPT_PROTOCOLS, y CURLOPT_REDIR_PROTOCOLS.
 ip2longAntes de esta versión, ip2long según como devolverá un número válido incluso si el valor no es una dirección con puntos (IPv4) Internet Protocol.
 natsortLas cadenas numéricas rellenadas con ceros (p.ej., '00005') ahora ignoran el relleno de 0.
5.2.9array_uniqueAñadido el parámetro opcional sort_flags con el valor por defecto SORT_REGULAR. Antes de 5.2.9, esta función era usada para ordenar el array con SORT_STRING internamente.
5.2.8XSLTProcessor::importStylesheetAcepta SimpleXMLElement de nuevo; no funcionaba desde PHP 5.2.6.
5.2.7error_logEl valor posible de 4 se añadió a message_type.
 parse_ini_fileCuando sucede un error de sintaxis, esta función devolverá FALSE en vez de un array vacío.
 roundEl funcionamiento interno en round se modificó para adecuarse al estándar C99.
 strtotimeEn PHP 5 anterior a 5.2.7, las peticiones de una incidencia de un día de la semana dado en un mes donde ese día de la semana era el primer día del mes, añadía incorrectamente una semana a la marca de tiempo devuelta. Esto ha sido corregido en 5.2.7 y versiones posteriores.
5.2.6fopenSe añadieron las opciones 'c' y 'c+'
5.2.5addcslashesSe añadieron las secuencias de escape \v y \f.
 debug_backtraceSe añadió el parámetro opcional provide_object.
 imagefilterSe añadió el soporte de alfa para IMG_FILTER_COLORIZE.
5.2.4checkdnsrrAñadido TXT type.
 get_loaded_extensionsFue añadido el parámetro opcional zend_extensions
 ldap_first_attributeber_identifier ha sido retirado. Este ahora es manejado automáticamente por PHP.
 ldap_next_attributeEl parámetro ber_identifier fue removido. Este se maneja ahora automáticamente por PHP.
 parse_ini_fileLas claves y los nombres de las secciones consisten en números que ahora se evalúan como integers de PHP, así los números que comiencen por 0 son evaluados como octales y los números que comiencen por 0x son evaluados como hexadecimales.
 stream_wrapper_registerAñadido el parámetro flags.
5.2.3getimagesizeLos errores de lectura generados por esta función se degradaron desde E_WARNING a E_NOTICE.
 htmlentitiesFue agregado el parámetro double_encode.
 htmlspecialcharsFue agregado el parámetro double_encode.
 json_decodeLa profundidad de recursión por defecto se incrementó de 20 a 128
 XMLWriter::writeElementEl parámetro content se convierte en opcional.
 XMLWriter::writeElementNSEl parámetro content se convierte en opcional.
 PDOStatement::getColumnMetaEl campo table
5.2.2 - 5.2.6substrSi el parámetro start indica una posición negativa de truncamiento o más allá, se devolverá false. En otras versiones de PHP obtienen la cadena desde el principio.
5.2.2DOMDocument::registerNodeClassAntes de 5.2.2, una extendedclass previamente registrada teniá que ser desregistrada antes de poder registrar una nueva clase que extendiese a la misma baseclass.
 ftp_ssl_connectLa función se ha cambiado para devolver FALSE cuando no se puede utilizar una conexión SSL, en lugar de recurrir a una conexión no-SSL como hacía en versiones anteriores.
 phpinfoSe añadió la información del "Fichero de configuración cargado", mientras que anteriormente solo existía "Ruta del fichero de configuración (php.ini).
 preg_matchLos sub-patrones nominados ahora aceptan la sintaxis (?<nombre>) y (?'nombre') así como (?P<nombre>). Las versiones anteriores sólo aceptaban (?P<nombre>).
 preg_match_allLos sub-patrones nominados ahora aceptan la sintaxis (?<nombre>) y (?'nombre') así como (?P<nombre>). Versiones anteriores sólo aceptaban (?P<nombre>).
 proc_terminateVersiones previas usadas para destruir el recurso de un proceso dado.
 token_get_allLos números de línea son devueltos en el elemento 2
5.2.1iterator_to_arrayAñadido el parámetro use_keys.
 json_decodeSe añadió el soporte para la decodificación JSON de tipos básicos.
 memory_get_peak_usageCompilar con --enable-memory-limit ya no es necesario para que esta función exista.
 memory_get_usageCompilar con --enable-memory-limit ya no es necesario para que exista esta función.
 mt_srandLa implementación de Mersenne Twister en PHP ahora usa un nuevo algoritmo para la semilla de Richard Wagner. La misma semilla ahora ya no produce la misma secuencia de valores como sucedía en anteriores versiones. No se espera que se vuelva a cambiar de nuevo este comportamiento, aunque, no obstante, se considera inseguro confiar en él.
 proc_openAñadida la opción bypass_shell al parámetro other_options.
5.2.0base64_decodeAñadido strict
 curl_multi_info_readmsgs_in_queue fue añadido.
 error_reportingSe introdujo E_RECOVERABLE_ERROR.
 imagettftextAhora es posible especificar una entidad hexadecimal en text.
 imap_openSe añadió n_retries
 imap_reopenSe añadió n_retries
 mb_strrposSe añadió el parámetro opcional offset.
 memory_get_peak_usagese añade real_usage.
 memory_get_usageSe añadió real_usage.
 openssl_verifySe añadió el parámetro signature_alg.
 pathinfoSe añadió la constante PATHINFO_FILENAME.
 pg_escape_byteaSe agregó el parámetro connection
 pg_escape_stringconnection added
 session_get_cookie_paramsLa entrada "httponly" fue añadida en la matriz devuelta.
 session_set_cookie_paramsSe añadió el parámetro httponly.
 set_error_handlerEl gestor de errores debe devolver FALSE para rellenar $php_errormsg.
 setcookieSe añadió el parámetro httponly.
 setrawcookieAñadido el parámetro httponly.
 snmp_set_oid_numeric_printSince PHP 5.2.0.
 PDOStatement::executeLas claves de input_parameters deben coincidir con aquellas declaradas en la sentencia SQL. Antes de PHP 5.2.0 esto se ignoraba silenciosamente.
 SimpleXMLElement::childrenSe añade el parámetro opcional is_prefix.
 SimpleXMLElement::__constructSe añadieron los parámetros ns y is_prefix.
 SoapServer::SoapServerAdded the typemap option.
 XMLReader::openencoding y options fueron agregadas.
 XMLReader::XMLencoding ay options fueron agregados.
5.1.3DirectoryIterator::__constructLanza una RuntimeException si path es una cadena vacía.
 curl_getinfoSe introdujo CURLINFO_HEADER_OUT.
 get_headersEsta función usa el contexto de secuencia predeterminado, el cual puede ser definido/modificado con la función stream_context_set_default.
 http_build_queryLos corchetes cuadrados son escapados.
 imagecolorallocateDevuelve FALSE si falló la asignación. Anteriormente devolvía -1.
 imagecolorallocatealphaDevuelve FALSE si falló la asignación. Anteriormente devolvía -1.
 imagepngAñadido el parámetro filters.
 mb_get_infoEstán disponibles las entradas "mail_charset", "mail_header_encoding", y "mail_body_encoding".
 SoapClient::__doRequestSe añadió el parámetro one_way.
 XMLReader::getAttributeDevuelve NULL si no se encuentra ningún atributo. Antes, devolvía una cadena de texto vacía.
5.1.2date_default_timezone_setLa función comenzo a validar el parámetro timezone_identifier.
 http_build_querySe agregó el parámetro arg_separator.
 imagepngAñadido el parámetro quality.
 parse_urlASe agregó el parámetro component.
 SimpleXMLElement::__constructSe añadieron los parámetros options y data_is_url.
5.1.1dateHay constantes útiles de formatos de fecha/hora estándar que se pueden usar para especificar el parámetro format.
 debug_backtraceSe añadió el object actual como posible elemento devuelto.
 gmdateHay constantes útiles de formatos de fecha/hora estándar que se pueden usar para especificar el parámetro format.
5.1.0DirectoryIterator::__constructLanza una RuntimeException en caso de error. Anteriormente lanzaba una Exception.
 DOMDocument::saveSe añadió el parámetro options
 DOMDocument::saveXMLSe añadió el parámetro options
 class_implementsAñadida la opción para pasar el parámetro class como un string. Añadido el parámetro autoload.
 class_parentsAñadida la opción para pasar el parámetro class como un string. Añadido el parámetro autoload.
 ctype_digitEn versiones anteriores a PHP 5.1.0, esta función devolvía TRUE cuando text era una cadena vacía.
 curl_setoptSe introdujo CURLOPT_AUTOREFERER, CURLOPT_BINARYTRANSFER, CURLOPT_FTPSSLAUTH, CURLOPT_PROXYAUTH, y CURLOPT_TIMECONDITION.
 dateAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 dateEl rango válido de una marca de tiempo es típicamente desde 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 de un entero con signo de 32 bit). Sin embargo, antes de PHP 5.1.0 este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
 date_sunriseAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 date_sunsetAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 explodeSe añadió soporte para limit negativo.
 file_get_contentsSe añadieron los parámetros offset y maxlen.
 file_put_contentsAñadido el soporte para LOCK_EX y la capacidad de pasar un recurso tipo stream al parámetro data
 get_parent_classSi se llamaba sin parámetro fuera del objeto, está función devolvía NULL con una advertencia, pero ahora devuelve FALSE.
 gettimeofdaySe añadió el parámetro return_float.
 globSe añadió GLOB_ERR
 gmdateEl rango válido de una marca de tiempo es típicamente desde 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 de un entero con signo de 32-bit). Sin embargo, antes de PHP 5.1.0 este rango estaba limitado desde 01-01-1970 a 19-01-2038 en algunos sistemas (p.ej. Windows).
 gmmktimeA partir de PHP 5.1.0, el parámetro is_dst se volvió obsoleto. Como resultado, se podría usar en su lugar las nuevas características de manejo de zonas horarias.
 idateAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 imagerotateSe añadió ignore_transparent.
 intvalLanza E_NOTICE y devuelve 1, cuando se pasa un objecto a var.
 localtimeAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 md5_fileSe modificó la función para usar la API de secuencias. Esto quiere decir que se puede usar con envolturas, como md5_file('http://example.com/..')
 mktimeCuando se hace la llamada sin argumento, mktime lanza un aviso E_STRICT. Use la función time en su lugar.
 mktimeEl parámetro is_dst se volvió obsoleto. Hacía que la funcion devolviese FALSE si se pruducía un error, en vez de -1. Arreglada la función para que acepte el año, mes y día pasados como cero.
 mktimeAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 openssl_pkcs7_verifySe añadió el parámetro content.
 preg_replaceAñadido el parámetro count
 preg_replace_callbackSe añadió el parámetro count
 session_regenerate_idAñadido el parámetro delete_old_session.
 sha1_fileCambiada la función para utilizar el API de flujo de datos. Esto significa que se puede utilizar con envolturas, como en sha1_file('http://ejemplo.com/..')
 str_word_countAgregado el parámetro charlist
 stream_copy_to_streamSe añadió el parámetro offset
 stream_filter_appendAntes de PHP 5.1.0, esta función devolvía TRUE si se tuvo éxito o FALSE en caso de error.
 stream_filter_prependAntes de PHP 5.1.0, esta función devolvía TRUE en caso de éxito o FALSE en caso de error.
 stream_get_contentsSe añadió el parámetro offset.
 strftimeAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 strtotimeAhora muestra E_STRICT y E_NOTICE cuando ocurren errores con zonas horarias.
 strtotimeAhora devuelve FALSE si falla, en vez de -1.
 substr_compareSe añadió la posibilidad de usar un offset negativo.
 substr_countLos parámetros offset y length fueron agregados
 var_exportPosibilidad de exportar las clases y los arrays que contienen las clases utilizando el método mágico __set_state.
 XSLTProcessor::registerPHPFunctionsSe añadió el parámetro restrict.
5.0.5php_check_syntaxEsta función fue eliminada de PHP.
5.0.3get_class_varsSegún el ámbito, get_class_vars devolverá sólo las propiedades que pueden ser accedidas desde el ámbito actual.
 is_subclass_ofEs posible especificar también el parámetro object como una cadena (el nombre de la clase)
 php_check_syntaxLlamar a exit después de php_check_syntax resultaba en un fallo de segmentación.
5.0.2array_sliceSe añadió el parámetro opcional preserve_keys.
 class_existsYa no devuelve TRUE para interfaces definidas. En ese caso se debe usar interface_exists.
 get_class_varsAl llamar a get_class_vars ahora se expondrán todas las propiedades como una matriz, a diferencia del comportamiento anterior donde las propieades protected y private eran prefijadas con bytes nul.
 sortSe añadió SORT_LOCALE_STRING
 strtotimeEn PHP 5 hasta 5.0.2, "now" y otros momentos relativos son computados erróneamente como la medianoche de hoy. Esto difiere de otras versiones donde es computado como el momento actual.
5.0.1get_class_varsAl llamar a get_class_vars se expondrán todas las propiedades, como cuando se convierte un objeto en una clase.
 php_check_syntaxmensaje_error es pasado por referencia.
5.0.0apache_get_modulesAhora es posible usar Apache 1 o la API de los filtros de Apache 2. Antes, sólo estaba disponible para la API de los manejadores de Apache 2.
 apache_get_versionSe añade soporte de la API de los filtros de Apache 2.
 array_keysAñadido el parámetro strict.
 array_mergeEl comportamiento de array_merge fue modificado en PHP 5. A diferencia de PHP 4, array_merge ahora sólo acepta parámetros de tipo array. Sin embargo, se puede utilizar typecasting para combinar otros tipos. Véase el siguiente ejemplo para más detalles. Ejemplo de array_merge de PHP 5 <?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?> El resultado del ejemplo sería: Array ( [0] => foo [1] => bar )
 cal_infoEl parametro calendar se volvió opcional y si se omite se devuelven "todos los calendarios".
 checkdnsrrAñadido AAAA type.
 class_existsSe añadió el parámetro autoload.
 com_releaseEsta función fue eliminada.
 curl_setoptSe introdujo CURLOPT_FTP_USE_EPRT, CURLOPT_NOSIGNAL, CURLOPT_UNRESTRICTED_AUTH, CURLOPT_BUFFERSIZE, CURLOPT_HTTPAUTH, CURLOPT_PROXYPORT, CURLOPT_PROXYTYPE, CURLOPT_SSLCERTTYPE, y CURLOPT_HTTP200ALIASES.
 dirnamedirname ahora es segura al trabajar con datos binarios
 error_reportingSe introdujo E_STRICT (no es parte de E_ALL).
 extension_loadedextension_loaded usa el nombre interno de extensión para probar si una extensión determinada está disponible o no. La mayoría de nombres internos de extensión están escritos en minúsculas pero es posible que hayan extensiones disponibles que usen también letras mayúsculas. Antes de PHP 5, esta función comparaba los nombres sensible a mayúsculas.
 fgetssEl parámetro length es opcional
 fileAntes de PHP 5.0.0 el parámetro flags sólo cubría include_path y estaba habilitado con 1
 fileSe añadió el parámetro context
 file_get_contentsSe añadió el soporte de contextos.
 file_put_contentsAñadido el soporte de contexto
 get_classEl parámetro object es opcional si es llamado desde el método del objeto.
 get_classEl nombre de la clase es devuelto en su notación original.
 get_class_methodsA partir de PHP 5, esta función devuelve los nombres de los métodos tal como fueron declarados (sensble a mayúsculas-minúsculas). En PHP 4 están en minúsculas.
 get_defined_constantsEl parámetro categorize fue agregado.
 get_defined_varsLa variable $GLOBALS se incluye en los resultados de la matriz devuelta.
 get_parent_classEl parámetro object es opcional si se llama desde el método del objeto.
 html_entity_decodeSe agregó el soporte para codificaciones multibyte.
 ip2longAntes de esta versión, ip2long devolvía -1 en caso de fallo.
 is_aEsta funcion se volvió obsoleta en favor del operador instanceof. Llamar a esta función resultará en una advertencia de tipo E_STRICT.
 is_executableis_executable ahora está disponible en Windows
 jdtojewishSe añadió el parámetro fl.
 mb_encode_mimeheaderSe añadió el parámetro indent.
 mb_send_mailLas cabeceras Content-Type y Content-Transfer-Encoding puedenn ser redefinidas a partir de PHP 5.0.0. Anteriormente, los valores definidos por mb_language se usaban siempre.
 md5Fue agregado el parámetro raw_output.
 md5_fileSe agregó el parámetro raw_output
 microtimeSe añadió el parámetro get_as_float.
 mkdirSe añadio el parámetro recursive
 mkdirA partir de PHP 5.0.0 mkdir también se puede usar con algunas envolturas de URL. Consulte para una lista de las envolturas admitidas por mkdir
 mysql_fetch_objectSe añadió la posibilidad de devolver como un objeto diferente.
 opendirruta soporta dentro de la URL la envoltura ftp://.
 openssl_pkcs7_encryptSe añadió el parámetro cipherid.
 openssl_signSe añadió el parámetro signature_alg.
 parse_ini_fileLos valores encerrados entre comillas dobles pueden contener nuevas líneas.
 pg_fetch_objectclass_name and params were added. The old form with result_type still exists for backwards compatibility.
 proc_openAñadidos los parámetros cwd, env y other_options.
 rangeSe añadió el parámetro opcional step.
 realpathAntes de esta versión, el parámetro path en blanco o NULL ocasionaba que realpath devolviera el nombre del directorio del script.
 renamerename ahora también puede ser usado con algunas envolturas URL. Consulte para un listado de las envolturas que soporta rename.
 rmdirDesde PHP 5.0.0 rmdir también se puede usar con algunas envolturas URL. Consulte para un listado de las envolturas que soporta rmdir.
 session_idLos caracteres , (coma) y - (menos) están permitidos en el gestor de archivo de sesión.
 set_error_handlerSe introdujo el parámetro error_types.
 sha1Fue agregado el parámetro raw_output.
 sha1_fileAgregado el parámetro raw_output.
 socket_createSe añadió la constante AF_INET6.
 str_ireplaceFue agregado el parámetro count.
 str_replaceFue agregado el parámetro count.
 stream_get_meta_dataLas siguientes entradas se añadieron a la matriz devuelta: mode, seekable, y uri.
 strip_tagsstrip_tags ahora es segura a nivel binario.
 strrposFue introducido el parámetro offset.
 strrposEl needle puede ser ahora un string de más de un carácter.
 strtotimeLos microsegundos comenzaron a estar permitidos, pero son ignorados.
 uniqidEl parámetro prefix se hizo opcional.
 unlinkDesde PHP 5.0.0 unlink también se puede usar con algunas envolturas URL. Consulte para un listado de cuales envolturas soporta unlink.
 usleepEsta función ahora funciona en sistemas Windows.
 mysqli_result::fetch_objectSe añadió la capacidad para devolver como un objeto diferente.

Apéndices
PHP Manual