被弃⽤的php函数以及被那个代替
原⽂链接 blog.csdn/a11085013/article/details/8937848
下⾯列举了部分被弃⽤的函数:
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() 替代)
eregi() (使⽤ preg_match() 配合 ‘i’ 修正符替代)
eregi_replace() (使⽤ preg_replace() 配合 ‘i’ 修正符替代)
set_magic_quotes_runtime() 以及它的别名函数 magic_quotes_runtime()
[color=olive]session_register() (使⽤ $_SESSION 超全部变量替代)
session_unregister() (使⽤ $_SESSION 超全部变量替代)
session_is_registered() (使⽤ $_SESSION 超全部变量替代)
php 数组字符串转数组set_socket_blocking() (使⽤ stream_set_blocking() 替代)
split() (使⽤ preg_split() 替代)
spliti() (使⽤ preg_split() 配合 ‘i’ 修正符替代)
sql_regcase()
mysql_db_query() (使⽤ mysql_select_db() 和 mysql_query() 替代)
mysql_escape_string() (使⽤ mysql_real_escape_string() 替代)
废弃以字符串传递区域设置名称. 使⽤ LC_* 系列常量替代.
mktime() 的 is_dst 参数. 使⽤新的时区处理函数替代.
涉及到的主要的函数迁移如下:
删除函数 define_syslog_variables 引⽤删除对函数 define_syslog_variables 的引⽤将变量 $LOG_ERR, $LOG_USER 等⽤常量 LOG_USER, LOG_USER, …替代
ereg, eregi 函数⽤preg_match 函数替代这⼏个函数的函数声明int ereg ( string$pattern , string $string [, array &$regs ] ) int eregi ( string $pattern , string $string [, array &$regs ] ) intpreg_match ( string $pattern , string $subject [, array &$matches [, int $flags [, int $offset ]]] )虽然三者的第⼀个参数都是字符串,表⽰⼀个正则表达式,但是 preg_match ⽤的是 PCRE(Perl 兼容的正则表达式语法):正则表达式的两端⽤⼀个符号做边界,如 “/pattern/” 或者
“#pattern#”,eregi 是乎略⼤⼩写的匹配,转换为 preg_match,第⼀个参数,⽤PCRE的参数来乎略⼤⼩写,如:”/pattern/i” 或者 “#pattern#i”,两者的第三个参数返回的匹配的数据结构不同。ereg 的第三个参数在调⽤结束后,返回的是⼀个字符串数组,分别为完整匹配字串和各个⼦匹配字串。preg_match 返回的是⼆维数组,相当于 ereg 的字串数组中的字串在 preg_match 是⼀个数组,分别保存匹配值以及匹配位置。如果要进⾏多次匹配,PHP 提供了 preg_match_all 函数,其第三个参数的返回值则是⼀个三维数组.
ereg_replace, eregi_replace 函数⽤preg_replace 函数或者 str_replace 函数来替代和前⾯的 ereg 替换为 preg_match 类似,第⼀个参数要进⾏转换,头尾增加⼀个符号,如:”/pattern/” 或者 “#pattern#”, …eregi_replace 到 preg_replace 的替换,在第⼀个参数的后⾯增加正则表达式参数。如:”/pattern/i” 或者“#pattern#i”, …如果 ereg_replace 的第⼀个参数不是正则表达式,可以⽤ str_replace 直接来替换。
spliti 函数⽤explode 或则 preg_split 函数替代split 切分字符串,如果⽆须⽤到正则表达式,使⽤ explode 替换是最好不过,速度最快.对于使⽤正则表达式切分字串,则使⽤ preg_split 函数替代。替代过程和 ereg/ereg_replace 类似,只是在第⼀个正则表达式参数中做⽂章,将 split 的正则表达式前后加上⼀个 PCRE 的分隔符号。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论