Я пытаюсь создать 2D-массив, где $multiples[$i] = array(multiples of $i), $i = 1,2,3..
.Пара значений ключа PHP, где ключ - динамическая переменная, а значение - массив?
function getMultiples($factor, $start = 0, 10)
{
$multiples = array();
for($i = $factor + $start; $i < 10; $i+=$factor)
$multiples[] = $i;
return $multiples;
}
for($i = 2; $i < 10; $i++)
{
$start = 0 ;
$multiples[$i] = getMultiples($i, $start, 10);
}
Однако, когда я var_dump
$multiples[2] = array(0 => 2)
$multiples[3] = array(0 => 3)
$multiples[4] = array(0 => 4)
...
Каждый элемент $values
был intialized только с первым кратным в каждом массиве.
Я тестировал это с помощью нечисловых значений ключа, и он отлично работает. Значения статического ключа также работают. Значение динамической клавиши $i
похоже на проблему, что здесь происходит?
Я попробовал и хорошо работать, каждый элемент в '$ values' является массив из трех элементов – developer
Хм, вы правы это действительно работает ... но это упрощенная версия моей проблемы, когда она не работает. Так что, может быть, проблема кроется в другом месте! Я собираюсь копаться ... – bagel