这里有一个PHP函数,可以将任意数量的不同长度数组合并成一个新数组,新数组的顺序为:
虽然我理解这个例子中每个内置函数本身的作用,但我无法理解它们如何在这个函数中协同工作,尽管有解释性的注释...请问有人能为我分解一下吗?该函数按原样工作得很好,只是让我疯狂的是我不明白它是如何工作的...附言:此函数取自将多个数组交错成一个数组问题。
Array1[0],Array2[0],..,ArrayN[0],Array1[1],Array2[1],..,ArrayN[1]...
。请保留HTML标签。 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
虽然我理解这个例子中每个内置函数本身的作用,但我无法理解它们如何在这个函数中协同工作,尽管有解释性的注释...请问有人能为我分解一下吗?该函数按原样工作得很好,只是让我疯狂的是我不明白它是如何工作的...附言:此函数取自将多个数组交错成一个数组问题。