Deprecated language features are those that have been retained temporarily for backward compatibility, but which will eventually be removed from the language. In effect, deprecation announces a grace period to allow the smooth transition from the old features to the new ones. In that period, no use of the deprecated features should be added to the code, and all existing uses should be gradually removed.

The following functions were deprecated in PHP 5:

Deprecated Use Instead
call_user_method() call_user_func()
call_user_method_array() call_user_func_array()
define_syslog_variables()
dl()
ereg() preg_match()
ereg_replace() preg_replace() (note that this is deprecated in PHP 5.5)
eregi() preg_match() with 'i' modifier
eregi_replace() preg_replace() with 'i' modifier
set_magic_quotes_runtime() and its alias, magic_quotes_runtime()
session_register() $_SESSION superglobal
session_unregister() $_SESSION superglobal
session_is_registered() $_SESSION superglobal
set_socket_blocking() stream_set_blocking()
split() preg_split()
spliti() preg_split() with 'i' modifier
sql_regcase()
mysql_db_query() mysql_select_db() and mysql_query()
mysql_escape_string() mysql_real_escape_string()
Passing locale category names as strings Use the LC_* family of constants

The following functions were deprecated in PHP 7:

Deprecated Use Instead
__autoload() spl_autoload_register()
create_function() anonymous function
parse_str() without second argument parse_str() with second argument
gmp_random() gmp_random_bits() or gmp_random_range()
each() foreach
assert() with string argument
Defining case-insensitive constants by calling define() with true as third parameter define("myconst", $value) or define("myconst", $value, false)
FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED flags FILTER_VALIDATE_URL flag
fgetss() function, "string.strip_tags" stream filter name, SplFileObject::fgetss() method and gzgetss() function
mbregex_encoding(), mbereg(), mberegi(), mbereg_replace(), mberegi_replace(), mbsplit(), mbereg_match(), mbereg_search(), mbereg_search_pos(), mbereg_search_regs(), mbereg_search_init(), mbereg_search_getregs(), mbereg_search_getpos(), mbereg_search_setpos() Use the
corresponding mb_ereg_*() variants instead
string search functions with integer needle (stristr, strrchr, strstr, strripos, stripos, strrpos, strpos, strchr) use a string needle instead
image2wbmp() imagewbmp()
Normalizer::NONE
Defining an assert() function inside a namespace use the standard assert() function

See