У меня есть двухуровневый массив. На первом уровне около 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
)
Теперь, в силу обстоятельств, вроде добавленного изображения, которое занимает место, мне иногда нужно пересчитать количество оставшихся слов и перераспределить массив, который еще остался.
Для этого я написал приведенную ниже функцию, чтобы сделать оставшийся массив одним большим длинным массивом слов, который я затем могу сгруппировать _куском в правильных пропорциях. &$array — ссылка на «материнский массив», $memory — массив избыточных слов, $index — место, где мы итерируем цикл for, $limit — длина «массива» для 2-го уровня, в этом дело 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);
}
}
Вопрос
массив _слияние (arr1,arr2 )не работает.
при выполнении
redistribute($splitupchunk,array('test','test2','test3','test4'),$i,275);
print _r ($r2 )просто печатает тестовые числа без дополнительных переменных из $array[$c]. Как я могу это исправить?