打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个php问题,究竟array

一个php问题,究竟array_shift()和unset()谁快呢?

        php关于数组的函数是很强大的,今天在公司遇就到一个问题,我需要删除数组的第一个键,在php中有两种方法,就是用array_shift()或者是unset(),两个函数都可以实现删除数组第一个键的功能,前辈们都是用array_shift()的,但是我心里有个疑问,用unset()有何不妥呢?他们的效率如何呢?回家后我做了个实验:

<?php
$a = array('aa'=>'a','bb'=>'b','cc'=>'c');
$t1=microtime(true);
        php关于数组的函数是很强大的,今天在公司遇就到一个问题,我需要删除数组的第一个键,在php中有两种方法,就是用array_shift()或者是unset(),两个函数都可以实现删除数组第一个键的功能,前辈们都是用array_shift()的,但是我心里有个疑问,用unset()有何不妥呢?他们的效率如何呢?回家后我做了个实验:

<?php
$a = array('aa'=>'a','bb'=>'b','cc'=>'c');
$t1=microtime(true);
array_shift($a);
echo 'array_shift($a):'.((microtime(true)-$t1)*1000).'<br><br>';

$t2=microtime(true);
unset($a['aa']);
echo "unset(\$a['aa']):".((microtime(true)-$t2)*1000).'<br>';
?>

结果相差很大,由于时间很短,所以我放大了1000倍

       我刷了很多次,这个是这两个函数的平均差距。但是array_shift()还可以输出你删除的键值,unset()就不能,我想这就是差那么点时间的原因吧,不过如果不用输出的情况下,应该优先使用unset()的。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
php中var
PHP数组的Hash冲突实例(转)
学习PHP生成器的使用
PHP中的数组操作利器unset
php数组中删除元素之重新索引的方法
PHP 垃圾回收机制详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服