PHP中废弃但是好用的函数有哪些
原创 52cxy 11-08 16:10 阅读数:750

PHP 随着版本的迭代,不断对一些函数进行废弃处理(deprecated),目的是改进语言的安全性、性能和现代化。以下是一些常见被废弃的函数或功能的总结,不同 PHP 版本中废弃的函数可能不同:


PHP 5.x 废弃的函数

mysql_* 系列函数(如 mysql_connect, mysql_query 等)

替代方案:使用 mysqli_* 或 PDO。

废弃版本:PHP 5.5.0,移除于 PHP 7.0.0。



ereg 系列函数(如 ereg, ereg_replace)

替代方案:使用 preg_match, preg_replace。

废弃版本:PHP 5.3.0,移除于 PHP 7.0.0。


mcrypt_* 系列函数(如 mcrypt_encrypt, mcrypt_decrypt)

替代方案:使用 openssl_* 系列函数。

废弃版本:PHP 7.1.0,移除于 PHP 7.2.0。


split 函数

替代方案:使用 explode 或 preg_split。

废弃版本:PHP 5.3.0,移除于 PHP 7.0.0。


call_user_method 和 call_user_method_array

替代方案:使用 call_user_func 或 call_user_func_array。

废弃版本:PHP 4.1.0,移除于 PHP 5.0.0。




PHP 7.x 废弃的函数

each 函数

替代方案:使用 foreach。

废弃版本:PHP 7.2.0,移除于 PHP 8.0.0。

create_function

替代方案:使用匿名函数(function 或 fn)。

废弃版本:PHP 7.2.0,移除于 PHP 8.0.0。

intval 的第三个参数 base(大于 36 或小于 2)


问题描述:传递无效的基数将导致废弃警告。

废弃版本:PHP 7.4.0。


mbregex_encoding

替代方案:使用 mb_internal_encoding。

废弃版本:PHP 7.3.0,移除于 PHP 8.0.0。


implode 的参数顺序

推荐使用 implode($glue, $pieces),而不是反过来。

废弃版本:PHP 7.4.0(不严格废弃,但会警告)。



PHP 8.x 废弃的函数

动态属性(对象未声明的属性)

替代方案:使用显式声明的属性或 __get/__set 魔术方法。

废弃版本:PHP 8.2.0。


utf8_encode 和 utf8_decode

替代方案:使用 mb_convert_encoding。

废弃版本:PHP 8.2.0。


部分 GD 函数(如 image2wbmp)

替代方案:GD 扩展的更新函数。

废弃版本:PHP 8.0.0。


filter_var() 的 FILTER_SANITIZE_STRING

替代方案:使用自定义的正则清理。

废弃版本:PHP 8.1.0。


共0条评论
我要评论