bad.php 和 good.php 运行输出疑问???

来源:3-4 PHP自身能力性能测试之代码准备

小_青_年

2019-01-12 17:26

bad.php 和 good.php 的执行输出几乎不可能一样吧,bad.php输出的是没有重复值的并且数组个数肯定超过任何一个子数组的大数组,但是good.php肯定输出的是2002个元素的数组,array_merge去除重复应该是针对非正整数键(字符)进行比较,所以good.php不会去重

<?php
    $arr1 = $arr2 = range(10,20);
    $arr1_k = $arr2_k = range('A', 'K');
    shuffle($arr1);shuffle($arr2);
    shuffle($arr1_k);shuffle($arr2_k);
    $arr1 = array_combine($arr1_k, $arr1);
    $arr2 = array_combine($arr2_k, $arr2);
    $merged = (array_merge($arr1, $arr2));
    echo "<pre>";
    var_export($arr1);
    var_export($arr2);
    var_export($arr1_k);
    var_export($arr2_k);
    var_export($merged);
    echo "</pre>";


写回答 关注

1回答

  • 头上有鸡角
    2019-03-06 19:21:42

    array_merge去重是去键名的重。

性能优化之PHP优化

带你打造高速高效的PHP项目,由浅入深带你进一步探索php优化项目

37064 学习 · 107 问题

查看课程

相似问题