被弃用的php函数以及被那个代替

下面列举了部分被弃用的函数: 
     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 超全部变量 替代) 
     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 的分隔符号。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值