我发现了 PHP 中很棒的 extract
函数,我认为它非常方便。但是,我了解到 PHP 中的大多数优点也会影响性能,所以我的问题是,从性能角度来看,哪些因素会影响使用 extract
?
对于大型应用程序来说,从数组中提取变量是一种禁忌吗?
最佳答案
更新:
正如下面的评论者所指出的,多年后我现在敏锐地意识到 - php 变量是写时复制。然而,在全局范围内提取将防止变量被垃圾收集。所以正如我之前所说,“考虑你的范围”
取决于数组的大小和提取它的范围,假设您将一个巨大的数组提取到全局命名空间,我可以看到它会产生影响,因为您会将所有数据存储在内存中两次 - 我相信虽然它可能会做一些有趣的内部事情,而 PHP 是众所周知的限制 -
但说你做到了
function bob(){
extract( array( 'a' => 'woo', 'b' =>'fun', 'c' => 'array' ) );
}
它不会有真正持久的效果。
长话短说,只需考虑您在做什么、为什么这样做以及范围。
关于php - 从数组中提取变量对性能有影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868325/