PHP键值对,其中key是一个动态变量,value是一个数组?
PHP key value pairs, where key is a dynamic variable and value is an array?
我正在尝试创建一个二维数组,其中 $multiples[$i] = array(multiples of $i), $i = 1,2,3..
。
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
的每个元素都只用每个数组中的第一个倍数初始化。
我已经用非数字键值对此进行了测试,它工作正常。静态键值也可以。动态键值$i
好像有问题,请问这是怎么回事?
如果你想得到一个数的倍数,你需要更新 getMultiples
如下:
function getMultiples($factor, $start = 0, $max)
{
$multiples = array();
for($i = 2; $i < $max; $i++)
$multiples[] = $i*$factor;
return $multiples;
}
我们改变了什么?
- 循环10或
$max
次for($i = $factor + $start; $i < 10; $i+=$factor)
至for($i = 2; $i < $max; $i++)
.
- 查找多个
$multiples[] = $i;
到$multiples[] = $i*$factor;
我正在尝试创建一个二维数组,其中 $multiples[$i] = array(multiples of $i), $i = 1,2,3..
。
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
的每个元素都只用每个数组中的第一个倍数初始化。
我已经用非数字键值对此进行了测试,它工作正常。静态键值也可以。动态键值$i
好像有问题,请问这是怎么回事?
如果你想得到一个数的倍数,你需要更新 getMultiples
如下:
function getMultiples($factor, $start = 0, $max)
{
$multiples = array();
for($i = 2; $i < $max; $i++)
$multiples[] = $i*$factor;
return $multiples;
}
我们改变了什么?
- 循环10或
$max
次for($i = $factor + $start; $i < 10; $i+=$factor)
至for($i = 2; $i < $max; $i++)
. - 查找多个
$multiples[] = $i;
到$multiples[] = $i*$factor;