黑胡子Z 2020-07-29 11:04 采纳率: 0%
浏览 96
已结题

php - 第二种就赋值了一下 内存为什么比第一个大这么多

<?php

function cc() : array
{
$num = 0;
$arr = [];
while ($num < 100){
$arr[] = $num;
$num++;
}
return $arr;
}

/**************调用方法1******************/

$start1 = memory_get_usage();

foreach (cc() as $v){
echo $v;
}

$end1 = memory_get_usage();

echo PHP_EOL;

echo PHP_EOL;

echo ($end1 - $start1).PHP_EOL;

//返回: 32

/**************调用方法2******************/

$start2 = memory_get_usage();

$a = cc();

foreach ($a as $v){
echo $v;
}

$end2 = memory_get_usage();

echo PHP_EOL;

echo PHP_EOL;

echo ($end2 - $start2).PHP_EOL;

//返回: 8248

  • 写回答

2条回答 默认 最新

  • Ricardo7512 2020-07-29 11:51
    关注

    方法1应该返回的是0吧
    方法2 就是$a 占的内存

    评论

报告相同问题?