php对象和数组内存,PHP 对象比数组省内存?错!数组比对象省内存?错!

刚刚一个群里有人引出了 PHP 数组和对象占用内存谁多谁少的问题。我想起之前我好像也测试过这个问题,和群里人说的对象比数组节省内存的结论相反,我得出的是数组比对象节省内存。

但今天,我想说,这两种说法都不对!!!

话不多说,直接上代码:

class AAA

{

public $a,$b,$c,$d,$e;

public function __construct($v)

{

$this->a = $v[0];

$this->b = $v[1];

$this->c = $v[2];

$this->d = $v[3];

$this->e = $v[4];

}

}

$max = 10000;

$a = memory_get_usage();

$list1 = [];

for($i = 0; $i 

{

$list1[] = ['a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5];

}

echo 'PHP 数组内存占用:', memory_get_usage() - $a, PHP_EOL;

$a = memory_get_usage();

$list2 = [];

for($i = 0; $i 

{

$obj = new stdClass();

$obj->a = 1;

$obj->b = 2;

$obj->c = 3;

$obj->d = 4;

$obj->e = 5;

$list2[] = $obj;

}

echo 'PHP stdClass内存占用:', memory_get_usage() - $a, PHP_EOL;

$a = memory_get_usage();

$list3 = [];

for($i = 0; $i 

{

$list3[] = new AAA(1,2,3,4,5);

}

echo 'PHP 自定义类内存占用: ', memory_get_usage() - $a, PHP_EOL;

运行结果:(不同人跑结果不同,但是谁多谁少不会变)

PHP 数组内存占用:3117392

PHP stdClass内存占用:3418800

PHP 自定义类内存占用: 1582896

结论:PHP 数组、对象内存占用,自定义类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值