分享

一个php问题,究竟array

 yliu277 2016-02-01

一个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倍

一个php问题,究竟array_shift()和unset()谁快呢? - 小丸子 - 小丸子
       我刷了很多次,这个是这两个函数的平均差距。但是array_shift()还可以输出你删除的键值,unset()就不能,我想这就是差那么点时间的原因吧,不过如果不用输出的情况下,应该优先使用unset()的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多