本文主要和大家分享
php
变量引用与非引用性能比较,希望能帮助到大家。
相关推荐:
php变量引用、函数引用、对象引用三种引用实例代码详解
PHP变量引用、函数引用、对象引用
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
PHP变量引用 PHP 全局变量
立即学习
“
PHP免费学习笔记(深入)
”;
$val){
$p[$key] += 1;
}
}
$end = microtime(true);
$endMem = Memory_get_usage();
echo 'ByKey: ', $end - $start, 's' , PHP_EOL, 'Mem: ', $endMem - $startMem , PHP_EOL;
$start = microtime(true);
$startMem = Memory_get_usage();
for($i = 0; $i < $cycleCount; $i += 1){
$p = array_fill(0, $arrayCount, 1);
foreach($p as &$val){
$val += 1;
}
}
$end = microtime(true);
$endMem = Memory_get_usage();
echo 'ByRef: ', $end - $start, 's' , PHP_EOL, 'Mem: ', $endMem - $startMem , PHP_EOL , PHP_EOL;
// END: 引用胜出
// 数组内循环赋值不修改数据
echo "数组内循环赋值不修改数据", PHP_EOL;
$start = microtime(true);
$startMem = Memory_get_usage();
for($i = 0; $i < $cycleCount; $i += 1){
$p = array_fill(0, $arrayCount, 1);
foreach($p as $key => $val){
$b = $val;
}
}
$end = microtime(true);
$endMem = Memory_get_usage();
echo 'ByKey: ', $end - $start, 's' , PHP_EOL, 'Mem: ', $endMem - $startMem , PHP_EOL;
$start = microtime(true);
$startMem = Memory_get_usage();
for($i = 0; $i < $cycleCount; $i += 1){
$p = array_fill(0, $arrayCount, 1);
foreach($p as &$val){
$b = $val;
}
}
$end = microtime(true);
$endMem = Memory_get_usage();
echo 'ByRef: ', $end - $start, 's' , PHP_EOL, 'Mem: ', $endMem - $startMem , PHP_EOL;
// END: 传值胜出
// 总结:数据需要修改的就用引用,数据不需要修改的就用非引用