例子:
function big_arr()
{
xxxxxx;//各种处理....
return $arr;//10W或者以上的数据库查询结果,可能存放在memcache,也可能是mysql,反
//反正就是取出来了。
}$a = big_arr();这样写,是不是big_arr()中的数组的拷贝传给$a。那这样的话,内存中不是有两个大数组了?
是不是返回引用会比较好?array
function big_arr()
{
xxxxxx;//各种处理....
return $arr;//10W或者以上的数据库查询结果,可能存放在memcache,也可能是mysql,反
//反正就是取出来了。
}$a = big_arr();这样写,是不是big_arr()中的数组的拷贝传给$a。那这样的话,内存中不是有两个大数组了?
是不是返回引用会比较好?array
看测试代码echo memory_get_usage(),PHP_EOL; //332744
foo(); //417032
echo memory_get_usage(),PHP_EOL; //332744
$b = foo(); //417008
echo memory_get_usage(),PHP_EOL; //417056function foo() {
$a = range(0,1000);
echo memory_get_usage(),PHP_EOL;
return $a;
}