在我日常的办公室工作中,我必须处理不同类型的多维数组,有时为了我的工作目的,我将它们简化为一维。大多数情况下,我更喜欢call_user_func_array和array_merge param。实际上,我想知道他们是如何在内部工作的,特别是...
操作符的方式,以及哪种方法更快?
<?php
$data = [[1, 2], [3], [4, 5]];
print '<pre>';
print_r(array_merge(... $data)); // [1, 2, 3, 4, 5];
print_r(call_user_func_array('array_merge',$data)); // [1, 2, 3, 4, 5];
print_r(array_reduce($data, 'array_merge', [])); // [1, 2, 3, 4, 5];
发布于 2017-07-21 09:10:07
实际上,我想知道他们内部是如何工作的
可变长度参数列表的文档可能会给你一些信息。我不会链接您提到的其他函数的文档,因为它们对google来说很容易。
我不知道它们在内部是如何工作的,但是你可以通过PHP源代码来找出答案。请记住,它是用C写的。
哪种方法更快?
看看关于测试PHP代码性能的答案。测量微时间,或者使用xdebug分析工具。
https://stackoverflow.com/questions/45242988
复制