Tsc*_*cka 5 php arrays multidimensional-array array-merge
我有一个双级数组.在第一级有大约10个索引.它们包含275个元素数组,每个数组都包含一个单词.
Array
(
[0] => Array
(
[0] => Suspendisse
[1] => Nam.
[2] => Amet
[3] => amet
[4] => urna
[5] => condimentum
[6] => Vestibulum
[7] => sem
[8] => at
[9] => Curabitur
[10] => lorem
.... to [275]
)
[1] => Array
(
... you get the idea
)
... 10 elements total
)
Run Code Online (Sandbox Code Playgroud)
现在,通过环境,比如占用空间的添加图像,我有时需要重新计算剩余的单词数量,并重新分配仍然保留的数组.
为此,我编写了下面的函数,使剩下的数组成为一个很长的单词数组,然后我可以将array_chunk调整到正确的比例.&$ array是对"mother array"的引用,$ memory是一个多余的单词数组,$ index是我们迭代for循环的地方,$ limit是第二级的"数组"长度,在这里案例275
function redistribute(&$array,$memory,$index,$limit)
{
$ret[] = $array[0];
// skip past the current processed items
for($c=1;$c<$index;$c++)
{
$ret[] = $array[$c];
}
// apply current item
$ret[] = $array[$index];
//join the rest into one big array off words;
$r2=$memory;
$length = count($array);
for($c=$index+1;$c<$length;++$c)
{
array_merge($r2,$array[$c]);
print_r($r2);
}
}
Run Code Online (Sandbox Code Playgroud)
这个问题
array_merge(arr1,arr2)似乎不起作用.
执行时
redistribute($splitupchunk,array('test','test2','test3','test4'),$i,275);
Run Code Online (Sandbox Code Playgroud)
print_r($ r2)只打印测试数字而没有来自$ array [$ c]的额外变量.我该如何解决?
Tsc*_*cka 36
我找到了它无效的原因.我假设array_merge通过引用而不是返回工作.
通过制作线
array_merge($r2,$array[$c]);
$r2 = array_merge($r2,$array[$c]);
Run Code Online (Sandbox Code Playgroud)
它现在按预期工作.
| 归档时间: |
|
| 查看次数: |
8469 次 |
| 最近记录: |