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

原文链接 http://blog.csdn.net/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
超全部变量替代)

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 的分隔符号。

时间: 2024-10-08 04:40:16

被弃用的php函数以及被那个代替的相关文章

被弃用的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' 修正符替代)

ZeroMQ接口函数之 :zmq_msg_send – 从一个socket发送一个消息帧

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_msg_send zmq_msg_send(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_msg_send – 从一个socket发送一个消息帧 Synopsis int zmq_msg_send (zmq_msg_t *msg, void *socket, int flags); Description zmq_msg_send函数和zmq_sendmsg(3)函数是完全相同的,只是z

PHP 5.3 新特性

1 PHP 5.3中的新特性 1.1 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只需要指定不同的命名空间即可,命名空间的分隔符为反斜杆\. //select.php<?php namespace Zend\Db\Table; class Select { } ?> 这样即使其它命名空间下存在名为Select的类,程序在调用时也不会产生冲突.代码的可读性也有所增加. 调用方法: //call.php <?php //

《白帽子讲WEB安全》学习笔记之第17章 安全开发流程(SDL)

第17章 安全开发流程(SDL) 17.1 SDL简介 安全开发是从根源有效地解决安全漏洞问题,而已在软件的生命周期内,这样的开发模式成本更低. SDL过程: q  培训 所有的开发人员必须接收适当的安全培训,了解相关的安全知识. q  安全要求 明确项目的安全要求. q  质量门/bug栏 质量门和bug栏相当于确定安全和隐私质量的最低可接受级别. q  安全和隐私风险评估 评估项目中的安全现状和威胁模型 q  设计要求 在产品设计初期考虑安全问题 q  减小攻击面 减小攻击面通过减少攻击者利

【cocos2d-js官方文档】十八、Cocos2d-js v3.0的对象构造和类继承

在Cocos2d-JS中,对象的构造方式和Cocos2d-x一样,使用各个类的create函数来构造.在Cocos2d-JS v3.0我们还将为你带来一种传统的方式,即使用new操作符.另外,在v3.0 alpha1版本中,因为我们还没有找到较好的解决办法,所以不能继承JSB中的引擎类.但是在v3.0 alpha2中,这个问题已经解决了.由于使用new操作符,编写继承代码也更加容易了. 在这篇文档中,我们将会介绍如何使用它们,以及简要的实现原理. 1. 弃用的create函数 由于Cocos2d

PHP5.3, PHP5.4, PHP5.5新特性

因为用到PHP新版本,一些新特性必须要了解,且有些可以在开发时就使用,如果不使用,那么何必升级PHP版本呢,显得有些得不偿失了! 所以整理了一下 一些特性,有可能不全,待添加 PHP 5.3中的新特性 一.PHP 5.3中的新特性 1. 支持命名空间 (Namespace) 2. 支持延迟静态绑定(Late Static Binding) 3. 支持goto语句 4. 支持闭包.Lambda/Anonymous函数 5. 新增两个魔术方法__callStatic()和__invoke() 6.

php5.3 PHP5.4 PHP5.5 新特性/使用PHP5.5要注意的

1.PHP 5.3中的新特性 1.1 PHP 5.3中的新特性 1.1.1. 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只需要指定不同的命名空间即可,命名空间的分隔符为反斜杆\. select.php [php] view plaincopyprint? <?php namespace Zend\Db\Table; class Select {}这样即使其它命名空间下存在名为Select的类,程序在调用时也不会产生冲突.代

wParam与lParam的区别

Delphi中的消息 消息是Windows发出的一个通知,它告诉应用程序某个事件发生了.在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中,我们只需处理相应的VCL事件就可以了,但如果我们需要编写自己的控件.截获或过滤消息就必须深入研究Win32的消息处理机制. 在Delphi中消息以TMessage记录的方式定义.打开Message.pas文件,我们可以看到Tmessage是这样定义的: type TMessage = packed record Msg: Cardina

4.2 Routing -- Defining Your Routes

一.概述 1. 当应用程序启动时,路由器负责显示模板,加载数据,另外还设置应用程序的状态.这是通过匹配当前URL到你定义的routes来实现的. 2. Ember app router中的Map方法可以被调用来定义URL映射.当调用Map时,你应该传递一个function,它将会被调用,this会被设置为一个对象,你可以用它来创建路由. app/router.js Router.map(function() { this.route('about', { path: '/about' }); t