【发布时间】:2016-02-05 08:55:12
【问题描述】:
我发现以下代码检查stripslashes() 函数是否存在。
if ( function_exists( 'stripslashes' ) ) {
// Do something
} else {
// Do something
}
stripslashes() 函数适用于 PHP4 和 PHP5,所以我想知道为什么它需要一个条件语句来检查函数是否存在。没看懂。
这不是一个主观问题。告诉我使用这个语句和不使用它有什么区别。提前致谢!
以下是有关它们在何处使用的相关链接:
【问题讨论】:
-
好问题。 TBH,我不知道。也许是为了检查一些编码人员是否去创建了一个名为相同的自定义函数,或者有人破解了核心并删除了它?但是,
if ( function_exists( 'mysql_real_escape_string' ) )也是如此。如果服务器不支持那些旧的和已弃用的mysql_函数,则需要条件语句。 -
也许他们认为该功能有一天会被删除,因为它的主要用途被删除了?
-
@Gerard TBH(再次),我不知道。也许有一个他们疯狂的方法。我看不出使用它的原因(我认为该功能会保留一段时间)。就个人而言,
function_exists()只能用于可能已弃用的功能。mysql_是其中之一,session_register()php.net/manual/en/function.session-register.php - 我敢肯定还有更多。 (哦,不客气)。 -
我的猜测是他们试图检测魔术引号,但做错了。
-
@Gerard 我希望我们给你的(到目前为止,Alexander 和我)对你的问题有所帮助。
标签: php stripslashes