PHP 手册
后退 | 章 31. 魔术引号 | 前进

# 为什么不用魔术引号

- 可移植性

  编程时认为其打开或并闭都会影响到移植性。可以用 get_magic_quotes_gpc() 来检查是否打开，并据此编程。

- 性能

  由于并不是每一段被转义的数据都要插入数据库的，如果所有进入 PHP 的数据都被转义的话，那么会对程序的执行效率产生一定的影响。在运行时调用转义函数（如 addslashes()）更有效率。

  尽管 `php.ini-dist` 默认打开了这个选项，但是 `php.ini-recommended` 默认却关闭了它，主要是出于性能的考虑。

- 不便

  由于不是所有数据都需要转义，在不需要转义的地方看到转义的数据就很烦。比如说通过表单发送邮件，结果看到一大堆的 \'。针对这个问题，可以使用 stripslashes() 函数处理。

后退 | 起点 | 前进
为什么要用魔术引号 | 上一级 | 关闭魔术引号