微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在php中使用数组之前声明数组是否更快?

在使用数组PHP之前声明数组更快吗?

例如,声明一个数组然后设置一个值是否更快:

$arr = [];
$arr['foo'] = 'bar';

或者直接跳到设置值而不首先声明对象:

$arr['foo'] = 'bar';

请注意,我不想做以下事情:

$arr = ['foo' => 'bar'];

解决方法:

我总是声明,因为我不想遇到未定义的变量错误.但我也很好奇.我们来试试吧!

$size = 1000000;
$start_time = microtime(true);
for($i=1;$i<=$size;$i++):
    $arr = [];
    $arr['foo']='bar';
    unset($arr);
endfor;
$results['declare first'] =
    floor((microtime(true)-$start_time) * 1000).' milliseconds';

unset($arr, $i, $start_time);

$start_time = microtime(true);
for($i=1;$i<=$size;$i++):
    $arr['foo']='bar';
    unset($arr);
endfor;
$results['do not declare'] =
    floor((microtime(true)-$start_time) * 1000).' milliseconds';

print_r($results);

我PC上的典型结果:Win 7 x64上的PHP 5.6.23:

[
    'declare first' =>  '464 milliseconds',
    'do not declare' => '376 milliseconds',
]

100万次操作后100毫秒的差异意味着除非你有数百万个数组,否则你基本上不会注意到差异.所以首先申报:-)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐