php中的关键字new是否意味着在堆上分配内存?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php中的关键字new是否意味着在堆上分配内存?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP中的关键字new是否意味着在堆上分配内存?
恩.

class PErson {
    // PRoperties and methods
}

$p1 = new person();

有没有办法在PHP中的堆栈中创建对象,如c?
恩.

class person {
    // properties and methods
}

//inside in main stack
int main() {
person p1;

解决方法

在幕后,当您使用“new”关键字创建对象时,您将创建一个zval.用于在核心库和扩展中创建zval的宏为zval分配内存,所以答案是肯定的,在PHP中创建一个对象会导致创建一个存储在堆上的对象.实际上,所有类型的PHP变量都是幕后的zvals(这使得转换变得容易),因此它们实际上都存储在堆上.

如果要将数据存储在堆栈中,最好使用其他语言.

脚本宝典总结

以上是脚本宝典为你收集整理的php中的关键字new是否意味着在堆上分配内存?全部内容,希望文章能够帮你解决php中的关键字new是否意味着在堆上分配内存?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。