这里的PHP函数允许以输出数组的方式合并任意N个不同长度的数组,顺序如下Array1[0],Array2[0],..,ArrayN[0],Array1[1],Array2[1],..,ArrayN[1]...
:
function array_zip_merge() { $output = array(); // The loop incrementer takes each array out of the loop as it gets emptied by array_shift(). for ($args = func_get_args(); count($args); $args = array_filter($args)) { // &$arg allows array_shift() to change the original. foreach ($args as &$arg) { $output[] = array_shift($arg); } } return $output; } // test $a = range(1, 10); $b = range('a', 'f'); $c = range('A', 'B'); echo implode('', array_zip_merge($a, $b, $c)); // prints 1aA2bB3c4d5e6f78910
虽然我理解这个示例中的每个内置函数都是自己做的,但我不能完全理解它在这个函数中如何一起工作,尽管包括解释注释......
有人可以帮我分手吗?这个功能很好用,它让我疯狂,我不明白它是如何工作的......
PS:此函数取自将多个数组交错为单个数组问题.