php - 在这种情况下,哪种清除数组的方法更好?
问题描述
我打算通过循环创建一个多维数组。我的想法是,在循环函数内部,我会将元素分配到一个数组中,然后将单个数组分配到另一个大数组中,然后再清空单个数组以进行下一个循环过程。
例如
for($i=0;$i<5;$i++){
$arr1['a'] = $i;
$arr1['b'] = $i+=2;
$arr2[] = $arr; //assign the arr1 into the arr2
$arr1= []; //clear arr1 again for the next looping
}
var_dump($arr2);
结果将是:
array (size=2)
0 =>
array (size=2)
'a' => int 0
'b' => int 2
1 =>
array (size=2)
'a' => int 3
'b' => int 5
但是我发现实际上有很多方法可以清空数组,我不确定我清空数组的方式比其他方式更好/更有效,例如在这种情况下unset
重新初始化数组。$arr1 = array()
我在网上浏览,但没有太多比较这些方式。有什么建议可以提高这个或这个的性能与其他方法一样好?通过查看这些:
unset($arr)
$arr = array()
$arr = []
也许还有其他方式?
解决方案
您可以执行以下操作,而不是创建一个额外的数组(较小的数组)然后将值分配给较大的数组:
for($i=0;$i<5;$i++){
$arr2[$i]['a'] = $i;
$arr2[$i]['b'] = $i+2;
}
var_dump($arr2);
输出:
array (size=2)
0 =>
array (size=2)
'a' => int 0
'b' => int 2
1 =>
array (size=2)
'a' => int 3
'b' => int 5
在这种情况下,您不需要一次又一次地清空(较小的)数组。当您只使用一个数组时,它还将节省您的内存空间。
推荐阅读
- regex - Bash 脚本检查命令行参数
- sql - 如何找到拥有最活跃卖家(每位用户每天的软件销售量最高)的团队?
- flutter - Flutter Textfiled 进行了不必要的重建
- python - 如何用 Python 重新组织数据框?
- python - Python 中的 QUIC 流量生成,低吞吐量
- r - 使用具有不同 x 轴组的 ggplot2 在 R 中创建箱线图
- javascript - 单击jQuery中的删除按钮时需要隐藏整个表格行
- java - Thread2 等待 Thread1 完成启动 问题?爪哇
- html - 去掉每行末尾的一个字母单词
- java - CSVWriter 在每行之间添加空行