Array_merge неизвестное количество массивов в качестве переменных переменных

Спасибо за помощь, как всегда.

Мой код генерирует массивы в следующем формате

${'readyformerge' . $b} = $temparraytwo;

Что приводит к именам массивов

$readyformerge1
$readyformerge2
$readyformerge3

так далее…

Это хорошо работает, и мы знаем, что значение, которое содержит $ b, — это количество массивов, которые нам нужно объединить. Однако я не совсем понимаю, как это сделать, когда мы не узнаем до запуска скрипта, сколько массивов будет создано.

По сути, я хотел бы использовать следующее, чтобы получить результат, но, как вы видите, я могу сделать это только для количества результатов, которое, я думаю, вернет НЕ фактическое количество результатов. Любая помощь?

$outputmultidimensionalevent = array_merge_recursive(${'readyformerge' . $b},${'readyformerge' . $b});
print_r($outputmultidimensionalevent); echo '<br/>';

0

Решение

Ваша проблема — результат плохого дизайна.

Вместо:

${'readyformerge' . $b} = $temparraytwo;

Вы должны сделать что-то вроде этого:

$readyformerge[$b] = $temparraytwo;

А потом:

$merged = array();

foreach ($readyformerge as $one) {
$merged = array_merge($merged, $one);
}
2

Другие решения

Спасибо, это подтолкнуло меня в правильном направлении.

В настоящее время он настроен так:

    $z=1;
$readyformergemulti = array();
while ($z <= $i){
array_push($readyformergemulti,${'readyformerge' . $z});
$z++;
}
foreach ($readyformergemulti as $one) {
print_r($one);
echo '<br/>';
$merged = array_merge_recursive($merged, $one);
}
print_r($readyformergemulti); echo '<br/>';
print_r($merged); echo '<br/>';

Но, к сожалению, $ merged ничего не возвращает. Если вы посмотрите на следующее, первые 4 строки — это массивы $ readyformerge, а 5-я строка — желаемый результат:

Array ( [house] => 2797 )
Array ( [house] => 2829 )
Array ( [house] => 2736 )
Array ( [electronica] => 2763 [house] => 2763 )
Array ( [electronica] => Array (2763) [house] => Array (2763,2797,2892,2736 ) )

Извините за боль, и я ЗНАЮ, что всем нужно видеть больше кода, но с тысячами строк его сложно отобразить!

Если вы можете помочь снова, это было бы здорово!

0

По вопросам рекламы [email protected]